/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */

#define PY_SSIZE_T_CLEAN
#include "Python.h"
#ifndef Py_PYTHON_H
    #error Python headers needed to compile C extensions, please install development version of Python.
#elif PY_VERSION_HEX < 0x02040000
    #error Cython requires Python 2.4+.
#else
#include <stddef.h> /* For offsetof */
#ifndef offsetof
#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
#endif
#if !defined(WIN32) && !defined(MS_WINDOWS)
  #ifndef __stdcall
    #define __stdcall
  #endif
  #ifndef __cdecl
    #define __cdecl
  #endif
  #ifndef __fastcall
    #define __fastcall
  #endif
#endif
#ifndef DL_IMPORT
  #define DL_IMPORT(t) t
#endif
#ifndef DL_EXPORT
  #define DL_EXPORT(t) t
#endif
#ifndef PY_LONG_LONG
  #define PY_LONG_LONG LONG_LONG
#endif
#ifndef Py_HUGE_VAL
  #define Py_HUGE_VAL HUGE_VAL
#endif
#ifdef PYPY_VERSION
#define CYTHON_COMPILING_IN_PYPY 1
#define CYTHON_COMPILING_IN_CPYTHON 0
#else
#define CYTHON_COMPILING_IN_PYPY 0
#define CYTHON_COMPILING_IN_CPYTHON 1
#endif
#if PY_VERSION_HEX < 0x02050000
  typedef int Py_ssize_t;
  #define PY_SSIZE_T_MAX INT_MAX
  #define PY_SSIZE_T_MIN INT_MIN
  #define PY_FORMAT_SIZE_T ""
  #define CYTHON_FORMAT_SSIZE_T ""
  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
                                (PyErr_Format(PyExc_TypeError, \
                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
                                 (PyObject*)0))
  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
                                  !PyComplex_Check(o))
  #define PyIndex_Check __Pyx_PyIndex_Check
  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
  #define __PYX_BUILD_PY_SSIZE_T "i"
#else
  #define __PYX_BUILD_PY_SSIZE_T "n"
  #define CYTHON_FORMAT_SSIZE_T "z"
  #define __Pyx_PyIndex_Check PyIndex_Check
#endif
#if PY_VERSION_HEX < 0x02060000
  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
  #define PyVarObject_HEAD_INIT(type, size) \
          PyObject_HEAD_INIT(type) size,
  #define PyType_Modified(t)
  typedef struct {
     void *buf;
     PyObject *obj;
     Py_ssize_t len;
     Py_ssize_t itemsize;
     int readonly;
     int ndim;
     char *format;
     Py_ssize_t *shape;
     Py_ssize_t *strides;
     Py_ssize_t *suboffsets;
     void *internal;
  } Py_buffer;
  #define PyBUF_SIMPLE 0
  #define PyBUF_WRITABLE 0x0001
  #define PyBUF_FORMAT 0x0004
  #define PyBUF_ND 0x0008
  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
#endif
#if PY_MAJOR_VERSION < 3
  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#else
  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#endif
#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
#endif
#if PY_MAJOR_VERSION >= 3
  #define Py_TPFLAGS_CHECKTYPES 0
  #define Py_TPFLAGS_HAVE_INDEX 0
#endif
#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
#endif
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
  #define CYTHON_PEP393_ENABLED 1
  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
                                              0 : _PyUnicode_Ready((PyObject *)(op)))
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
#else
  #define CYTHON_PEP393_ENABLED 0
  #define __Pyx_PyUnicode_READY(op)       (0)
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBaseString_Type            PyUnicode_Type
  #define PyStringObject               PyUnicodeObject
  #define PyString_Type                PyUnicode_Type
  #define PyString_Check               PyUnicode_Check
  #define PyString_CheckExact          PyUnicode_CheckExact
#endif
#if PY_VERSION_HEX < 0x02060000
  #define PyBytesObject                PyStringObject
  #define PyBytes_Type                 PyString_Type
  #define PyBytes_Check                PyString_Check
  #define PyBytes_CheckExact           PyString_CheckExact
  #define PyBytes_FromString           PyString_FromString
  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
  #define PyBytes_FromFormat           PyString_FromFormat
  #define PyBytes_DecodeEscape         PyString_DecodeEscape
  #define PyBytes_AsString             PyString_AsString
  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
  #define PyBytes_Size                 PyString_Size
  #define PyBytes_AS_STRING            PyString_AS_STRING
  #define PyBytes_GET_SIZE             PyString_GET_SIZE
  #define PyBytes_Repr                 PyString_Repr
  #define PyBytes_Concat               PyString_Concat
  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
#endif
#if PY_VERSION_HEX < 0x02060000
  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
#endif
#ifndef PySet_CheckExact
  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
#endif
#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
#if PY_MAJOR_VERSION >= 3
  #define PyIntObject                  PyLongObject
  #define PyInt_Type                   PyLong_Type
  #define PyInt_Check(op)              PyLong_Check(op)
  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
  #define PyInt_FromString             PyLong_FromString
  #define PyInt_FromUnicode            PyLong_FromUnicode
  #define PyInt_FromLong               PyLong_FromLong
  #define PyInt_FromSize_t             PyLong_FromSize_t
  #define PyInt_FromSsize_t            PyLong_FromSsize_t
  #define PyInt_AsLong                 PyLong_AsLong
  #define PyInt_AS_LONG                PyLong_AS_LONG
  #define PyInt_AsSsize_t              PyLong_AsSsize_t
  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBoolObject                 PyLongObject
#endif
#if PY_VERSION_HEX < 0x03020000
  typedef long Py_hash_t;
  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
#else
  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
#endif
#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
#else
  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
#endif
#if PY_VERSION_HEX < 0x02050000
  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
#else
  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
#endif
#if PY_VERSION_HEX < 0x02050000
  #define __Pyx_NAMESTR(n) ((char *)(n))
  #define __Pyx_DOCSTR(n)  ((char *)(n))
#else
  #define __Pyx_NAMESTR(n) (n)
  #define __Pyx_DOCSTR(n)  (n)
#endif


#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
#else
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
#endif

#ifndef __PYX_EXTERN_C
  #ifdef __cplusplus
    #define __PYX_EXTERN_C extern "C"
  #else
    #define __PYX_EXTERN_C extern
  #endif
#endif

#if defined(WIN32) || defined(MS_WINDOWS)
#define _USE_MATH_DEFINES
#endif
#include <math.h>
#define __PYX_HAVE__h5py__h5t
#define __PYX_HAVE_API__h5py__h5t
#include "stdlib.h"
#include "string.h"
#include "time.h"
#include "unistd.h"
#include "stdint.h"
#include "api_compat.h"
#include "lzf_filter.h"
#include "hdf5.h"
#include "H5Cpublic.h"
#include "hdf5_hl.h"
#include "numpy/arrayobject.h"
#ifdef _OPENMP
#include <omp.h>
#endif /* _OPENMP */

#ifdef PYREX_WITHOUT_ASSERTIONS
#define CYTHON_WITHOUT_ASSERTIONS
#endif

#ifndef CYTHON_INLINE
  #if defined(__GNUC__)
    #define CYTHON_INLINE __inline__
  #elif defined(_MSC_VER)
    #define CYTHON_INLINE __inline
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_INLINE inline
  #else
    #define CYTHON_INLINE
  #endif
#endif
#ifndef CYTHON_UNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define CYTHON_UNUSED __attribute__ ((__unused__))
#   else
#     define CYTHON_UNUSED
#   endif
# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
#   define CYTHON_UNUSED __attribute__ ((__unused__))
# else
#   define CYTHON_UNUSED
# endif
#endif
typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/

#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
#if CYTHON_COMPILING_IN_CPYTHON
#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
#else
#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
#endif
#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))


#ifdef __GNUC__
  /* Test for GCC > 2.95 */
  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
    #define likely(x)   __builtin_expect(!!(x), 1)
    #define unlikely(x) __builtin_expect(!!(x), 0)
  #else /* __GNUC__ > 2 ... */
    #define likely(x)   (x)
    #define unlikely(x) (x)
  #endif /* __GNUC__ > 2 ... */
#else /* __GNUC__ */
  #define likely(x)   (x)
  #define unlikely(x) (x)
#endif /* __GNUC__ */
    
static PyObject *__pyx_m;
static PyObject *__pyx_b;
static PyObject *__pyx_empty_tuple;
static PyObject *__pyx_empty_bytes;
static int __pyx_lineno;
static int __pyx_clineno = 0;
static const char * __pyx_cfilenm= __FILE__;
static const char *__pyx_filename;


static const char *__pyx_f[] = {
  "h5t.pyx",
  "numpy.pxd",
  "h5r.pxd",
};

/*--- Type declarations ---*/
struct __pyx_obj_4h5py_8_objects_ObjectID;
struct __pyx_obj_4h5py_3h5t_TypeID;
struct __pyx_obj_4h5py_3h5t_TypeTimeID;
struct __pyx_obj_4h5py_3h5t_TypeReferenceID;
struct __pyx_obj_4h5py_3h5t_TypeBitfieldID;
struct __pyx_obj_4h5py_3h5t_TypeAtomicID;
struct __pyx_obj_4h5py_3h5t_TypeIntegerID;
struct __pyx_obj_4h5py_3h5t_TypeStringID;
struct __pyx_obj_4h5py_3h5t_TypeOpaqueID;
struct __pyx_obj_4h5py_3h5r_Reference;
struct __pyx_obj_4h5py_3h5r_RegionReference;
struct __pyx_obj_4h5py_3h5t_TypeCompositeID;
struct __pyx_obj_4h5py_3h5t_TypeEnumID;
struct __pyx_obj_4h5py_3h5t_TypeArrayID;
struct __pyx_obj_4h5py_3h5t_TypeCompoundID;
struct __pyx_obj_4h5py_3h5t_TypeFloatID;
struct __pyx_obj_4h5py_3h5t_TypeVlenID;
union __pyx_t_4h5py_3h5r_ref_u;

/* "h5r.pxd":17
 *   ctypedef unsigned char hdset_reg_ref_t[12]
 * 
 * cdef union ref_u:             # <<<<<<<<<<<<<<
 *     hobj_ref_t         obj_ref
 *     hdset_reg_ref_t    reg_ref
 */
union __pyx_t_4h5py_3h5r_ref_u {
  hobj_ref_t obj_ref;
  hdset_reg_ref_t reg_ref;
};
struct __pyx_opt_args_4h5py_5utils_check_numpy_read;
struct __pyx_opt_args_4h5py_5utils_check_numpy_write;
struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
  int __pyx_n;
  hid_t space_id;
};

/* "utils.pxd":18
 * 
 * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
 * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
 * 
 * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
 */
struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
  int __pyx_n;
  hid_t space_id;
};
struct __pyx_opt_args_4h5py_3h5t_py_create;

/* "h5py/h5t.pxd":69
 * 
 * cpdef TypeID typewrap(hid_t id_)
 * cpdef TypeID py_create(object dtype, bint logical=*)             # <<<<<<<<<<<<<<
 * 
 * 
 */
struct __pyx_opt_args_4h5py_3h5t_py_create {
  int __pyx_n;
  int logical;
};

/* "_objects.pxd":12
 * from defs cimport *
 * 
 * cdef class ObjectID:             # <<<<<<<<<<<<<<
 * 
 *     cdef object __weakref__
 */
struct __pyx_obj_4h5py_8_objects_ObjectID {
  PyObject_HEAD
  PyObject *__weakref__;
  hid_t id;
  int locked;
  PyObject *_hash;
};


/* "h5py/h5t.pxd":14
 * from _objects cimport class ObjectID
 * 
 * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
 * 
 *     cdef object py_dtype(self)
 */
struct __pyx_obj_4h5py_3h5t_TypeID {
  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtab;
};


/* "h5py/h5t.pxd":34
 *     pass
 * 
 * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeTimeID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5py/h5t.pxd":40
 *     pass
 * 
 * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeReferenceID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5py/h5t.pxd":37
 *     pass
 * 
 * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeBitfieldID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5py/h5t.pxd":45
 * # --- Numeric atomic types ---
 * 
 * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeAtomicID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5py/h5t.pxd":48
 *     pass
 * 
 * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeIntegerID {
  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
};


/* "h5py/h5t.pxd":26
 *     pass
 * 
 * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
 *     # Both vlen and fixed-len strings
 *     pass
 */
struct __pyx_obj_4h5py_3h5t_TypeStringID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5py/h5t.pxd":23
 *     pass
 * 
 * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeOpaqueID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5r.pxd":21
 *     hdset_reg_ref_t    reg_ref
 * 
 * cdef class Reference:             # <<<<<<<<<<<<<<
 * 
 *     cdef ref_u ref
 */
struct __pyx_obj_4h5py_3h5r_Reference {
  PyObject_HEAD
  union __pyx_t_4h5py_3h5r_ref_u ref;
  int typecode;
  size_t typesize;
};


/* "h5r.pxd":27
 *     cdef readonly size_t typesize
 * 
 * cdef class RegionReference(Reference):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5r_RegionReference {
  struct __pyx_obj_4h5py_3h5r_Reference __pyx_base;
};


/* "h5py/h5t.pxd":56
 * # --- Enums & compound types ---
 * 
 * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeCompositeID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5py/h5t.pxd":59
 *     pass
 * 
 * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
 * 
 *     cdef int enum_convert(self, long long *buf, int reverse) except -1
 */
struct __pyx_obj_4h5py_3h5t_TypeEnumID {
  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
};


/* "h5py/h5t.pxd":20
 * # --- Top-level classes ---
 * 
 * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeArrayID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5py/h5t.pxd":63
 *     cdef int enum_convert(self, long long *buf, int reverse) except -1
 * 
 * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeCompoundID {
  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
};


/* "h5py/h5t.pxd":51
 *     pass
 * 
 * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeFloatID {
  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
};


/* "h5py/h5t.pxd":30
 *     pass
 * 
 * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
 *     # Non-string vlens
 *     pass
 */
struct __pyx_obj_4h5py_3h5t_TypeVlenID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};



/* "h5py/h5t.pyx":291
 * # === Base type class =========================================================
 * 
 * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
 * 
 *     """
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeID {
  PyObject *(*py_dtype)(struct __pyx_obj_4h5py_3h5t_TypeID *);
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtabptr_4h5py_3h5t_TypeID;


/* "h5py/h5t.pyx":904
 * # === Composite types (enums and compound) ====================================
 * 
 * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
 * 
 *     """
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;


/* "h5py/h5t.pyx":950
 * 
 * 
 * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
 * 
 *     """
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID;


/* "h5py/h5t.pyx":511
 * 
 * 
 * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
 * 
 *     """
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID;


/* "h5py/h5t.pyx":468
 * # === Top-level classes (inherit directly from TypeID) ========================
 * 
 * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
 * 
 *     """
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID;


/* "h5py/h5t.pyx":660
 * # === Numeric classes (integers and floats) ===================================
 * 
 * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
 * 
 *     """
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;


/* "h5py/h5t.pyx":748
 * 
 * 
 * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
 * 
 *     """
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID *__pyx_vtabptr_4h5py_3h5t_TypeIntegerID;


/* "h5py/h5t.pyx":643
 *     pass
 * 
 * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
 * 
 *     """
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID;


/* "h5py/h5t.pyx":546
 *         return dtype("|V" + str(self.get_size()))
 * 
 * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
 * 
 *     """
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID;


/* "h5py/h5t.pyx":788
 * 
 * 
 * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
 * 
 *     """
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID *__pyx_vtabptr_4h5py_3h5t_TypeFloatID;


/* "h5py/h5t.pyx":629
 *     pass
 * 
 * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
 * 
 *     """
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID;


/* "h5py/h5t.pyx":636
 *     pass
 * 
 * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
 * 
 *     """
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID *__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID;


/* "h5py/h5t.pyx":622
 *         return dtype("|S" + str(self.get_size()))
 * 
 * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
 * 
 *     """
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID;


/* "h5py/h5t.pyx":1048
 *         return typeobj
 * 
 * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
 * 
 *     """
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
  int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int);
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID;
#ifndef CYTHON_REFNANNY
  #define CYTHON_REFNANNY 0
#endif
#if CYTHON_REFNANNY
  typedef struct {
    void (*INCREF)(void*, PyObject*, int);
    void (*DECREF)(void*, PyObject*, int);
    void (*GOTREF)(void*, PyObject*, int);
    void (*GIVEREF)(void*, PyObject*, int);
    void* (*SetupContext)(const char*, int, const char*);
    void (*FinishContext)(void**);
  } __Pyx_RefNannyAPIStruct;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
#ifdef WITH_THREAD
  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
          if (acquire_gil) { \
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
              PyGILState_Release(__pyx_gilstate_save); \
          } else { \
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
          }
#else
  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
#endif
  #define __Pyx_RefNannyFinishContext() \
          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
#else
  #define __Pyx_RefNannyDeclarations
  #define __Pyx_RefNannySetupContext(name, acquire_gil)
  #define __Pyx_RefNannyFinishContext()
  #define __Pyx_INCREF(r) Py_INCREF(r)
  #define __Pyx_DECREF(r) Py_DECREF(r)
  #define __Pyx_GOTREF(r)
  #define __Pyx_GIVEREF(r)
  #define __Pyx_XINCREF(r) Py_XINCREF(r)
  #define __Pyx_XDECREF(r) Py_XDECREF(r)
  #define __Pyx_XGOTREF(r)
  #define __Pyx_XGIVEREF(r)
#endif /* CYTHON_REFNANNY */
#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)

static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/

static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/

static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/

static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/

static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
    const char* function_name); /*proto*/

static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/

static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/

static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
    const char *name, int exact); /*proto*/

static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/

#if PY_MAJOR_VERSION >= 3
static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
    PyObject *value;
    value = PyDict_GetItemWithError(d, key);
    if (unlikely(!value)) {
        if (!PyErr_Occurred())
            PyErr_SetObject(PyExc_KeyError, key);
        return NULL;
    }
    Py_INCREF(value);
    return value;
}
#else
    #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
#endif

static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
    PyObject *r;
    if (!j) return NULL;
    r = PyObject_GetItem(o, j);
    Py_DECREF(j);
    return r;
}
#define __Pyx_GetItemInt_List(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
                                                    __Pyx_GetItemInt_List_Fast(o, i) : \
                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i) {
#if CYTHON_COMPILING_IN_CPYTHON
    if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
        PyObject *r = PyList_GET_ITEM(o, i);
        Py_INCREF(r);
        return r;
    }
    else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) {
        PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
#define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
                                                    __Pyx_GetItemInt_Tuple_Fast(o, i) : \
                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i) {
#if CYTHON_COMPILING_IN_CPYTHON
    if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
        PyObject *r = PyTuple_GET_ITEM(o, i);
        Py_INCREF(r);
        return r;
    }
    else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) {
        PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
#define __Pyx_GetItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
                                                    __Pyx_GetItemInt_Fast(o, i) : \
                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i) {
#if CYTHON_COMPILING_IN_CPYTHON
    if (PyList_CheckExact(o)) {
        Py_ssize_t n = (likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
        if (likely((n >= 0) & (n < PyList_GET_SIZE(o)))) {
            PyObject *r = PyList_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    }
    else if (PyTuple_CheckExact(o)) {
        Py_ssize_t n = (likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
        if (likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
            PyObject *r = PyTuple_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    } else {  /* inlined PySequence_GetItem() */
        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
        if (likely(m && m->sq_item)) {
            if (unlikely(i < 0) && likely(m->sq_length)) {
                Py_ssize_t l = m->sq_length(o);
                if (unlikely(l < 0)) return NULL;
                i += l;
            }
            return m->sq_item(o, i);
        }
    }
#else
    if (PySequence_Check(o)) {
        return PySequence_GetItem(o, i);
    }
#endif
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
}

#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
    PyListObject* L = (PyListObject*) list;
    Py_ssize_t len = Py_SIZE(list);
    if (likely(L->allocated > len)) {
        Py_INCREF(x);
        PyList_SET_ITEM(list, len, x);
        Py_SIZE(list) = len+1;
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
#endif

static CYTHON_INLINE int __Pyx_IterFinish(void); /*proto*/

static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);

static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);

static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);

static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index); /*proto*/

static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); /*proto*/

static CYTHON_INLINE int __Pyx_unpack_tuple2(PyObject* tuple, PyObject** value1, PyObject** value2,
                                             int is_tuple, int has_known_size, int decref_tuple);

static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name,
                                                   Py_ssize_t* p_orig_length, int* p_is_dict);
static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos,
                                              PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict);

static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/

static CYTHON_INLINE int __Pyx_PySequence_Contains(PyObject* item, PyObject* seq, int eq) {
    int result = PySequence_Contains(seq, item);
    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
}

static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc);

static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);

static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);

static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/

static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/

static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name);

static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject *);

static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);

static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t);

static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);

static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);

static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);

static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);

static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);

static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);

static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);

static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);

static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);

static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);

static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);

static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);

static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);

static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);

static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);

static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);

static int __Pyx_check_binary_version(void);

static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*proto*/

#if !defined(__Pyx_PyIdentifier_FromString)
#if PY_MAJOR_VERSION < 3
  #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s)
#else
  #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s)
#endif
#endif

static PyObject *__Pyx_ImportModule(const char *name); /*proto*/

static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/

static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/

static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/

typedef struct {
    int code_line;
    PyCodeObject* code_object;
} __Pyx_CodeObjectCacheEntry;
struct __Pyx_CodeObjectCache {
    int count;
    int max_count;
    __Pyx_CodeObjectCacheEntry* entries;
};
static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
static PyCodeObject *__pyx_find_code_object(int code_line);
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);

static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename); /*proto*/

static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/


/* Module declarations from 'h5py.api_types_ext' */

/* Module declarations from 'h5py.api_types_hdf5' */

/* Module declarations from 'h5py.defs' */
static hid_t (*__pyx_f_4h5py_4defs_H5Tcreate)(enum H5T_class_t, size_t); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Topen)(hid_t, char *); /*proto*/
static htri_t (*__pyx_f_4h5py_4defs_H5Tcommitted)(hid_t); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Tcopy)(hid_t); /*proto*/
static htri_t (*__pyx_f_4h5py_4defs_H5Tequal)(hid_t, hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tlock)(hid_t); /*proto*/
static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_class)(hid_t); /*proto*/
static size_t (*__pyx_f_4h5py_4defs_H5Tget_size)(hid_t); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Tget_super)(hid_t); /*proto*/
static htri_t (*__pyx_f_4h5py_4defs_H5Tdetect_class)(hid_t, enum H5T_class_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tclose)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tconvert)(hid_t, hid_t, size_t, void *, void *, hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tset_size)(hid_t, size_t); /*proto*/
static H5T_order_t (*__pyx_f_4h5py_4defs_H5Tget_order)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tset_order)(hid_t, H5T_order_t); /*proto*/
static hsize_t (*__pyx_f_4h5py_4defs_H5Tget_precision)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tset_precision)(hid_t, size_t); /*proto*/
static int (*__pyx_f_4h5py_4defs_H5Tget_offset)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tset_offset)(hid_t, size_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tget_pad)(hid_t, H5T_pad_t *, H5T_pad_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tset_pad)(hid_t, H5T_pad_t, H5T_pad_t); /*proto*/
static H5T_sign_t (*__pyx_f_4h5py_4defs_H5Tget_sign)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tset_sign)(hid_t, H5T_sign_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tget_fields)(hid_t, size_t *, size_t *, size_t *, size_t *, size_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tset_fields)(hid_t, size_t, size_t, size_t, size_t, size_t); /*proto*/
static size_t (*__pyx_f_4h5py_4defs_H5Tget_ebias)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tset_ebias)(hid_t, size_t); /*proto*/
static H5T_norm_t (*__pyx_f_4h5py_4defs_H5Tget_norm)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tset_norm)(hid_t, H5T_norm_t); /*proto*/
static H5T_pad_t (*__pyx_f_4h5py_4defs_H5Tget_inpad)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tset_inpad)(hid_t, H5T_pad_t); /*proto*/
static H5T_cset_t (*__pyx_f_4h5py_4defs_H5Tget_cset)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tset_cset)(hid_t, H5T_cset_t); /*proto*/
static H5T_str_t (*__pyx_f_4h5py_4defs_H5Tget_strpad)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tset_strpad)(hid_t, H5T_str_t); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Tvlen_create)(hid_t); /*proto*/
static htri_t (*__pyx_f_4h5py_4defs_H5Tis_variable_str)(hid_t); /*proto*/
static int (*__pyx_f_4h5py_4defs_H5Tget_nmembers)(hid_t); /*proto*/
static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_member_class)(hid_t, int); /*proto*/
static char *(*__pyx_f_4h5py_4defs_H5Tget_member_name)(hid_t, unsigned int); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Tget_member_type)(hid_t, unsigned int); /*proto*/
static int (*__pyx_f_4h5py_4defs_H5Tget_member_offset)(hid_t, int); /*proto*/
static int (*__pyx_f_4h5py_4defs_H5Tget_member_index)(hid_t, char *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tinsert)(hid_t, char *, size_t, hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tpack)(hid_t); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Tenum_create)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_insert)(hid_t, char *, void *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_nameof)(hid_t, void *, char *, size_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_valueof)(hid_t, char *, void *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tget_member_value)(hid_t, unsigned int, void *); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Tarray_create)(hid_t, int, hsize_t *, int *); /*proto*/
static int (*__pyx_f_4h5py_4defs_H5Tget_array_ndims)(hid_t); /*proto*/
static int (*__pyx_f_4h5py_4defs_H5Tget_array_dims)(hid_t, hsize_t *, int *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tset_tag)(hid_t, char *); /*proto*/
static char *(*__pyx_f_4h5py_4defs_H5Tget_tag)(hid_t); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Tdecode)(unsigned char *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tencode)(hid_t, unsigned char *, size_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t); /*proto*/
static H5T_conv_t (*__pyx_f_4h5py_4defs_H5Tfind)(hid_t, hid_t, H5T_cdata_t **); /*proto*/

/* Module declarations from 'h5py._objects' */
static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/

/* Module declarations from 'numpy' */

/* Module declarations from 'h5py.numpy' */
static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;

/* Module declarations from 'h5py.h5r' */
static PyTypeObject *__pyx_ptype_4h5py_3h5r_Reference = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5r_RegionReference = 0;

/* Module declarations from 'h5py.utils' */
static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/
static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/
static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/

/* Module declarations from 'h5py.h5t' */
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeArrayID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeOpaqueID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeStringID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeVlenID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeTimeID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeBitfieldID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeReferenceID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeAtomicID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeIntegerID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeFloatID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompositeID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeEnumID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompoundID = 0;
static PyObject *__pyx_v_4h5py_3h5t__order_map = 0;
static PyObject *__pyx_v_4h5py_3h5t__sign_map = 0;
static PyObject *__pyx_v_4h5py_3h5t__float_le = 0;
static PyObject *__pyx_v_4h5py_3h5t__float_be = 0;
static PyObject *__pyx_v_4h5py_3h5t__float_nt = 0;
static PyObject *__pyx_v_4h5py_3h5t__int_le = 0;
static PyObject *__pyx_v_4h5py_3h5t__int_be = 0;
static PyObject *__pyx_v_4h5py_3h5t__int_nt = 0;
static PyObject *__pyx_v_4h5py_3h5t__uint_le = 0;
static PyObject *__pyx_v_4h5py_3h5t__uint_be = 0;
static PyObject *__pyx_v_4h5py_3h5t__uint_nt = 0;
static struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_f_4h5py_3h5t_typewrap(hid_t, int __pyx_skip_dispatch); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_f_4h5py_3h5t_py_create(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args); /*proto*/
static PyObject *__pyx_f_4h5py_3h5t_lockid(hid_t); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_f_4h5py_3h5t__c_float(PyArray_Descr *); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_f_4h5py_3h5t__c_int(PyArray_Descr *); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_f_4h5py_3h5t__c_enum(PyArray_Descr *, PyObject *); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_f_4h5py_3h5t__c_bool(PyArray_Descr *); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_f_4h5py_3h5t__c_array(PyArray_Descr *, int); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_f_4h5py_3h5t__c_opaque(PyArray_Descr *); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_string(PyArray_Descr *); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_f_4h5py_3h5t__c_complex(PyArray_Descr *); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_f_4h5py_3h5t__c_compound(PyArray_Descr *, int); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_vlen_str(void); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_vlen_unicode(void); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeReferenceID *__pyx_f_4h5py_3h5t__c_ref(PyObject *); /*proto*/
static PyArray_Descr *__pyx_f_4h5py_3h5t_py_new_enum(PyObject *, PyObject *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_4h5py_3h5t_py_get_enum(PyObject *, int __pyx_skip_dispatch); /*proto*/
static PyArray_Descr *__pyx_f_4h5py_3h5t_py_new_vlen(PyObject *, int __pyx_skip_dispatch); /*proto*/
static PyObject *__pyx_f_4h5py_3h5t_py_get_vlen(PyObject *, int __pyx_skip_dispatch); /*proto*/
#define __Pyx_MODULE_NAME "h5py.h5t"
int __pyx_module_is_main_h5py__h5t = 0;

/* Implementation of 'h5py.h5t' */
static PyObject *__pyx_builtin_ValueError;
static PyObject *__pyx_builtin_TypeError;
static PyObject *__pyx_builtin_NotImplemented;
static PyObject *__pyx_builtin_zip;
static PyObject *__pyx_builtin_xrange;
static PyObject *__pyx_builtin_UnicodeDecodeError;
static PyObject *__pyx_builtin_KeyError;
static PyObject *__pyx_builtin_sorted;
static PyObject *__pyx_builtin_NotImplementedError;
static PyObject *__pyx_pf_4h5py_3h5t_typewrap(CYTHON_UNUSED PyObject *__pyx_self, hid_t __pyx_v_id_); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_2create(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_classtype, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_4open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6array_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base, PyObject *__pyx_v_dims_tpl); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_8enum_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_10vlen_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12decode(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_buf); /* proto */
static Py_hash_t __pyx_pf_4h5py_3h5t_6TypeID___hash__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_2__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_4__copy__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_5dtype___get__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_6commit(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group, char *__pyx_v_name, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_lcpl); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_8committed(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_10copy(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_12equal(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_typeid); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_14lock(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_16get_class(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_18set_size(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_20get_size(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_22get_super(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_24detect_class(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, int __pyx_v_classtype); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_26_close(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_28encode(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_30__reduce__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_32__setstate__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, char *__pyx_v_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_get_array_ndims(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_2get_array_dims(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_set_tag(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self, char *__pyx_v_tag); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_2get_tag(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_is_variable_str(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_2get_cset(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_4set_cset(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self, int __pyx_v_cset); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_6get_strpad(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_8set_strpad(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self, int __pyx_v_pad); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_get_order(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_2set_order(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, int __pyx_v_order); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_4get_precision(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_6set_precision(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, size_t __pyx_v_precision); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_8get_offset(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_10set_offset(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, size_t __pyx_v_offset); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_12get_pad(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_14set_pad(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, int __pyx_v_lsb, int __pyx_v_msb); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_get_sign(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_2set_sign(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self, int __pyx_v_sign); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_get_fields(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_2set_fields(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, size_t __pyx_v_spos, size_t __pyx_v_epos, size_t __pyx_v_esize, size_t __pyx_v_mpos, size_t __pyx_v_msize); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_4get_ebias(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_6set_ebias(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, size_t __pyx_v_ebias); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_8get_norm(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_10set_norm(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, int __pyx_v_norm); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_12get_inpad(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_14set_inpad(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, int __pyx_v_pad_code); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_get_nmembers(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_2get_member_name(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self, int __pyx_v_member); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_4get_member_index(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_get_member_class(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_2get_member_offset(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_4get_member_type(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_6insert(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, char *__pyx_v_name, size_t __pyx_v_offset, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_field); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_8pack(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_enum_insert(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, char *__pyx_v_name, PY_LONG_LONG __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_2enum_nameof(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, PY_LONG_LONG __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_4enum_valueof(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_6get_member_value(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, int __pyx_v_idx); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_14py_create(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dtype_in, int __pyx_v_logical); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_16special_dtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kwds); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_18check_dtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kwds); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_20convert(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst, size_t __pyx_v_n, PyArrayObject *__pyx_v_buf, PyArrayObject *__pyx_v_bkg, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_dxpl); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_22find(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_24py_new_enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt_in, PyObject *__pyx_v_enum_vals); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_26py_get_enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_28py_new_vlen(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kind); /* proto */
static PyObject *__pyx_pf_4h5py_3h5t_30py_get_vlen(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt_in); /* proto */
static char __pyx_k_1[] = "Class must be COMPOUND or OPAQUE.";
static char __pyx_k_3[] = "Only locked or committed types can be hashed";
static char __pyx_k_5[] = "No NumPy equivalent for %s exists";
static char __pyx_k_7[] = "|V";
static char __pyx_k_8[] = "Unknown string encoding (value %d)";
static char __pyx_k_9[] = "|S";
static char __pyx_k_10[] = "Unknown reference type";
static char __pyx_k_13[] = "Member index must be non-negative.";
static char __pyx_k_19[] = "This type (class %d) is not of class ENUM";
static char __pyx_k_20[] = "Index must be non-negative.";
static char __pyx_k_25[] = "Unsupported float size (%s)";
static char __pyx_k_26[] = "Illegal int kind \"%s\"";
static char __pyx_k_27[] = "Unsupported integer size (%s)";
static char __pyx_k_28[] = "Array shape for dtype must be a sequence or integer";
static char __pyx_k_30[] = "Illegal length %d for complex dtype";
static char __pyx_k_32[] = "Unrecognized reference code";
static char __pyx_k_34[] = "Object dtype %r has no native HDF5 equivalent";
static char __pyx_k_35[] = "No conversion path for dtype: %s";
static char __pyx_k_36[] = "Exactly one keyword may be provided";
static char __pyx_k_38[] = "Only byte or unicode string vlens are currently supported";
static char __pyx_k_40[] = "Enums must be created from a 2-tuple (basetype, values_dict)";
static char __pyx_k_42[] = "Only integer types can be used as enums";
static char __pyx_k_44[] = "Ref class must be Reference or RegionReference";
static char __pyx_k_46[] = "Unknown special type \"%s\"";
static char __pyx_k_48[] = " A Numpy-style dtype object representing this object.\n        ";
static char __pyx_k_49[] = "\n    HDF5 \"H5T\" data-type API\n\n    This module contains the datatype identifier class TypeID, and its\n    subclasses which represent things like integer/float/compound identifiers.\n    The majority of the H5T API is presented as methods on these identifiers.\n";
static char __pyx_k_53[] = "|";
static char __pyx_k_54[] = "<";
static char __pyx_k_55[] = ">";
static char __pyx_k_58[] = "/home/computer/h5py/h5py/h5t.pyx";
static char __pyx_k_59[] = "h5py.h5t";
static char __pyx_k__3[] = "3";
static char __pyx_k__O[] = "O";
static char __pyx_k__c[] = "c";
static char __pyx_k__f[] = "f";
static char __pyx_k__i[] = "i";
static char __pyx_k__n[] = "n";
static char __pyx_k__u[] = "u";
static char __pyx_k__dt[] = "dt";
static char __pyx_k__f4[] = "f4";
static char __pyx_k__h5[] = "h5";
static char __pyx_k__id[] = "id";
static char __pyx_k__iu[] = "iu";
static char __pyx_k__np[] = "np";
static char __pyx_k__PY3[] = "PY3";
static char __pyx_k__bkg[] = "bkg";
static char __pyx_k__buf[] = "buf";
static char __pyx_k__cfg[] = "cfg";
static char __pyx_k__dst[] = "dst";
static char __pyx_k__lsb[] = "lsb";
static char __pyx_k__msb[] = "msb";
static char __pyx_k__ref[] = "ref";
static char __pyx_k__src[] = "src";
static char __pyx_k__str[] = "str";
static char __pyx_k__sys[] = "sys";
static char __pyx_k__tpl[] = "tpl";
static char __pyx_k__val[] = "val";
static char __pyx_k__zip[] = "zip";
static char __pyx_k__C_S1[] = "C_S1";
static char __pyx_k__ENUM[] = "ENUM";
static char __pyx_k__TIME[] = "TIME";
static char __pyx_k__VLEN[] = "VLEN";
static char __pyx_k__base[] = "base";
static char __pyx_k__bkg_[] = "bkg_";
static char __pyx_k__bool[] = "bool";
static char __pyx_k__buf_[] = "buf_";
static char __pyx_k__copy[] = "copy";
static char __pyx_k__data[] = "data";
static char __pyx_k__dims[] = "dims";
static char __pyx_k__dxpl[] = "dxpl";
static char __pyx_k__enum[] = "enum";
static char __pyx_k__epos[] = "epos";
static char __pyx_k__find[] = "find";
static char __pyx_k__h5py[] = "h5py";
static char __pyx_k__kind[] = "kind";
static char __pyx_k__kwds[] = "kwds";
static char __pyx_k__lcpl[] = "lcpl";
static char __pyx_k__lock[] = "lock";
static char __pyx_k__mpos[] = "mpos";
static char __pyx_k__name[] = "name";
static char __pyx_k__open[] = "open";
static char __pyx_k__rank[] = "rank";
static char __pyx_k__size[] = "size";
static char __pyx_k__spos[] = "spos";
static char __pyx_k__type[] = "type";
static char __pyx_k__utf8[] = "utf8";
static char __pyx_k__vals[] = "vals";
static char __pyx_k__vlen[] = "vlen";
static char __pyx_k__ARRAY[] = "ARRAY";
static char __pyx_k__FLOAT[] = "FLOAT";
static char __pyx_k__SGN_2[] = "SGN_2";
static char __pyx_k___conv[] = "_conv";
static char __pyx_k__ascii[] = "ascii";
static char __pyx_k__dt_in[] = "dt_in";
static char __pyx_k__dtype[] = "dtype";
static char __pyx_k__equal[] = "equal";
static char __pyx_k__esize[] = "esize";
static char __pyx_k__field[] = "field";
static char __pyx_k__group[] = "group";
static char __pyx_k__msize[] = "msize";
static char __pyx_k__names[] = "names";
static char __pyx_k__numpy[] = "numpy";
static char __pyx_k__range[] = "range";
static char __pyx_k__value[] = "value";
static char __pyx_k__BKG_NO[] = "BKG_NO";
static char __pyx_k__OPAQUE[] = "OPAQUE";
static char __pyx_k__STRING[] = "STRING";
static char __pyx_k__create[] = "create";
static char __pyx_k__decode[] = "decode";
static char __pyx_k__encode[] = "encode";
static char __pyx_k__fields[] = "fields";
static char __pyx_k__little[] = "little";
static char __pyx_k__offset[] = "offset";
static char __pyx_k__result[] = "result";
static char __pyx_k__sorted[] = "sorted";
static char __pyx_k__xrange[] = "xrange";
static char __pyx_k__BKG_YES[] = "BKG_YES";
static char __pyx_k__INTEGER[] = "INTEGER";
static char __pyx_k__PAD_ONE[] = "PAD_ONE";
static char __pyx_k___f_name[] = "_f_name";
static char __pyx_k___i_name[] = "_i_name";
static char __pyx_k___r_name[] = "_r_name";
static char __pyx_k___t_name[] = "_t_name";
static char __pyx_k__convert[] = "convert";
static char __pyx_k__float16[] = "float16";
static char __pyx_k__hintkey[] = "hintkey";
static char __pyx_k__logical[] = "logical";
static char __pyx_k__popitem[] = "popitem";
static char __pyx_k__version[] = "version";
static char __pyx_k__BITFIELD[] = "BITFIELD";
static char __pyx_k__BKG_TEMP[] = "BKG_TEMP";
static char __pyx_k__COMPOUND[] = "COMPOUND";
static char __pyx_k__KeyError[] = "KeyError";
static char __pyx_k__NO_CLASS[] = "NO_CLASS";
static char __pyx_k__ORDER_BE[] = "ORDER_BE";
static char __pyx_k__ORDER_LE[] = "ORDER_LE";
static char __pyx_k__PAD_ZERO[] = "PAD_ZERO";
static char __pyx_k__SGN_NONE[] = "SGN_NONE";
static char __pyx_k__STD_I8BE[] = "STD_I8BE";
static char __pyx_k__STD_I8LE[] = "STD_I8LE";
static char __pyx_k__STD_U8BE[] = "STD_U8BE";
static char __pyx_k__STD_U8LE[] = "STD_U8LE";
static char __pyx_k__VARIABLE[] = "VARIABLE";
static char __pyx_k____copy__[] = "__copy__";
static char __pyx_k____hash__[] = "__hash__";
static char __pyx_k____main__[] = "__main__";
static char __pyx_k____name__[] = "__name__";
static char __pyx_k____test__[] = "__test__";
static char __pyx_k__dims_tpl[] = "dims_tpl";
static char __pyx_k__dtype_in[] = "dtype_in";
static char __pyx_k__get_cset[] = "get_cset";
static char __pyx_k__get_sign[] = "get_sign";
static char __pyx_k__get_size[] = "get_size";
static char __pyx_k__itemsize[] = "itemsize";
static char __pyx_k__set_size[] = "set_size";
static char __pyx_k__subdtype[] = "subdtype";
static char __pyx_k__warnings[] = "warnings";
static char __pyx_k__CSET_UTF8[] = "CSET_UTF8";
static char __pyx_k__NORM_NONE[] = "NORM_NONE";
static char __pyx_k__ORDER_VAX[] = "ORDER_VAX";
static char __pyx_k__REFERENCE[] = "REFERENCE";
static char __pyx_k__STD_I16BE[] = "STD_I16BE";
static char __pyx_k__STD_I16LE[] = "STD_I16LE";
static char __pyx_k__STD_I32BE[] = "STD_I32BE";
static char __pyx_k__STD_I32LE[] = "STD_I32LE";
static char __pyx_k__STD_I64BE[] = "STD_I64BE";
static char __pyx_k__STD_I64LE[] = "STD_I64LE";
static char __pyx_k__STD_U16BE[] = "STD_U16BE";
static char __pyx_k__STD_U16LE[] = "STD_U16LE";
static char __pyx_k__STD_U32BE[] = "STD_U32BE";
static char __pyx_k__STD_U32LE[] = "STD_U32LE";
static char __pyx_k__STD_U64BE[] = "STD_U64BE";
static char __pyx_k__STD_U64LE[] = "STD_U64LE";
static char __pyx_k__TypeError[] = "TypeError";
static char __pyx_k____class__[] = "__class__";
static char __pyx_k__byteorder[] = "byteorder";
static char __pyx_k__classtype[] = "classtype";
static char __pyx_k__enum_vals[] = "enum_vals";
static char __pyx_k__get_order[] = "get_order";
static char __pyx_k__get_super[] = "get_super";
static char __pyx_k__hint_dict[] = "hint_dict";
static char __pyx_k__iteritems[] = "iteritems";
static char __pyx_k__py_create[] = "py_create";
static char __pyx_k__set_ebias[] = "set_ebias";
static char __pyx_k__set_order[] = "set_order";
static char __pyx_k__CSET_ASCII[] = "CSET_ASCII";
static char __pyx_k__DIR_ASCEND[] = "DIR_ASCEND";
static char __pyx_k__FORTRAN_S1[] = "FORTRAN_S1";
static char __pyx_k__IEEE_F16BE[] = "IEEE_F16BE";
static char __pyx_k__IEEE_F16LE[] = "IEEE_F16LE";
static char __pyx_k__IEEE_F32BE[] = "IEEE_F32BE";
static char __pyx_k__IEEE_F32LE[] = "IEEE_F32LE";
static char __pyx_k__IEEE_F64BE[] = "IEEE_F64BE";
static char __pyx_k__IEEE_F64LE[] = "IEEE_F64LE";
static char __pyx_k__ORDER_NONE[] = "ORDER_NONE";
static char __pyx_k__UNIX_D32BE[] = "UNIX_D32BE";
static char __pyx_k__UNIX_D32LE[] = "UNIX_D32LE";
static char __pyx_k__UNIX_D64BE[] = "UNIX_D64BE";
static char __pyx_k__UNIX_D64LE[] = "UNIX_D64LE";
static char __pyx_k__ValueError[] = "ValueError";
static char __pyx_k__get_config[] = "get_config";
static char __pyx_k__longdouble[] = "longdouble";
static char __pyx_k__set_fields[] = "set_fields";
static char __pyx_k__DIR_DEFAULT[] = "DIR_DEFAULT";
static char __pyx_k__DIR_DESCEND[] = "DIR_DESCEND";
static char __pyx_k__NATIVE_INT8[] = "NATIVE_INT8";
static char __pyx_k__NORM_MSBSET[] = "NORM_MSBSET";
static char __pyx_k__STD_REF_OBJ[] = "STD_REF_OBJ";
static char __pyx_k__STR_NULLPAD[] = "STR_NULLPAD";
static char __pyx_k__check_dtype[] = "check_dtype";
static char __pyx_k__enum_create[] = "enum_create";
static char __pyx_k__enum_insert[] = "enum_insert";
static char __pyx_k__vlen_create[] = "vlen_create";
static char __pyx_k__NATIVE_FLOAT[] = "NATIVE_FLOAT";
static char __pyx_k__NATIVE_INT16[] = "NATIVE_INT16";
static char __pyx_k__NATIVE_INT32[] = "NATIVE_INT32";
static char __pyx_k__NATIVE_INT64[] = "NATIVE_INT64";
static char __pyx_k__NATIVE_UINT8[] = "NATIVE_UINT8";
static char __pyx_k__NORM_IMPLIED[] = "NORM_IMPLIED";
static char __pyx_k__ORDER_NATIVE[] = "ORDER_NATIVE";
static char __pyx_k__STR_NULLTERM[] = "STR_NULLTERM";
static char __pyx_k__STR_SPACEPAD[] = "STR_SPACEPAD";
static char __pyx_k__array_create[] = "array_create";
static char __pyx_k__detect_class[] = "detect_class";
static char __pyx_k__get_nmembers[] = "get_nmembers";
static char __pyx_k__version_info[] = "version_info";
static char __pyx_k__NATIVE_DOUBLE[] = "NATIVE_DOUBLE";
static char __pyx_k__NATIVE_UINT16[] = "NATIVE_UINT16";
static char __pyx_k__NATIVE_UINT32[] = "NATIVE_UINT32";
static char __pyx_k__NATIVE_UINT64[] = "NATIVE_UINT64";
static char __pyx_k__PYTHON_OBJECT[] = "PYTHON_OBJECT";
static char __pyx_k__special_dtype[] = "special_dtype";
static char __pyx_k__NotImplemented[] = "NotImplemented";
static char __pyx_k__PAD_BACKGROUND[] = "PAD_BACKGROUND";
static char __pyx_k__get_array_dims[] = "get_array_dims";
static char __pyx_k__get_python_obj[] = "get_python_obj";
static char __pyx_k__STD_REF_DSETREG[] = "STD_REF_DSETREG";
static char __pyx_k__get_member_name[] = "get_member_name";
static char __pyx_k__get_member_type[] = "get_member_type";
static char __pyx_k__is_variable_str[] = "is_variable_str";
static char __pyx_k__get_member_value[] = "get_member_value";
static char __pyx_k__UnicodeDecodeError[] = "UnicodeDecodeError";
static char __pyx_k__NotImplementedError[] = "NotImplementedError";
static PyObject *__pyx_kp_s_1;
static PyObject *__pyx_kp_s_10;
static PyObject *__pyx_kp_s_13;
static PyObject *__pyx_kp_s_19;
static PyObject *__pyx_kp_s_20;
static PyObject *__pyx_kp_s_25;
static PyObject *__pyx_kp_s_26;
static PyObject *__pyx_kp_s_27;
static PyObject *__pyx_kp_s_28;
static PyObject *__pyx_kp_s_3;
static PyObject *__pyx_kp_s_30;
static PyObject *__pyx_kp_s_32;
static PyObject *__pyx_kp_s_34;
static PyObject *__pyx_kp_s_35;
static PyObject *__pyx_kp_s_36;
static PyObject *__pyx_kp_s_38;
static PyObject *__pyx_kp_s_40;
static PyObject *__pyx_kp_s_42;
static PyObject *__pyx_kp_s_44;
static PyObject *__pyx_kp_s_46;
static PyObject *__pyx_kp_s_5;
static PyObject *__pyx_kp_s_53;
static PyObject *__pyx_kp_s_54;
static PyObject *__pyx_kp_s_55;
static PyObject *__pyx_kp_s_58;
static PyObject *__pyx_n_s_59;
static PyObject *__pyx_kp_s_7;
static PyObject *__pyx_kp_s_8;
static PyObject *__pyx_kp_s_9;
static PyObject *__pyx_kp_s__3;
static PyObject *__pyx_n_s__ARRAY;
static PyObject *__pyx_n_s__BITFIELD;
static PyObject *__pyx_n_s__BKG_NO;
static PyObject *__pyx_n_s__BKG_TEMP;
static PyObject *__pyx_n_s__BKG_YES;
static PyObject *__pyx_n_s__COMPOUND;
static PyObject *__pyx_n_s__CSET_ASCII;
static PyObject *__pyx_n_s__CSET_UTF8;
static PyObject *__pyx_n_s__C_S1;
static PyObject *__pyx_n_s__DIR_ASCEND;
static PyObject *__pyx_n_s__DIR_DEFAULT;
static PyObject *__pyx_n_s__DIR_DESCEND;
static PyObject *__pyx_n_s__ENUM;
static PyObject *__pyx_n_s__FLOAT;
static PyObject *__pyx_n_s__FORTRAN_S1;
static PyObject *__pyx_n_s__IEEE_F16BE;
static PyObject *__pyx_n_s__IEEE_F16LE;
static PyObject *__pyx_n_s__IEEE_F32BE;
static PyObject *__pyx_n_s__IEEE_F32LE;
static PyObject *__pyx_n_s__IEEE_F64BE;
static PyObject *__pyx_n_s__IEEE_F64LE;
static PyObject *__pyx_n_s__INTEGER;
static PyObject *__pyx_n_s__KeyError;
static PyObject *__pyx_n_s__NATIVE_DOUBLE;
static PyObject *__pyx_n_s__NATIVE_FLOAT;
static PyObject *__pyx_n_s__NATIVE_INT16;
static PyObject *__pyx_n_s__NATIVE_INT32;
static PyObject *__pyx_n_s__NATIVE_INT64;
static PyObject *__pyx_n_s__NATIVE_INT8;
static PyObject *__pyx_n_s__NATIVE_UINT16;
static PyObject *__pyx_n_s__NATIVE_UINT32;
static PyObject *__pyx_n_s__NATIVE_UINT64;
static PyObject *__pyx_n_s__NATIVE_UINT8;
static PyObject *__pyx_n_s__NORM_IMPLIED;
static PyObject *__pyx_n_s__NORM_MSBSET;
static PyObject *__pyx_n_s__NORM_NONE;
static PyObject *__pyx_n_s__NO_CLASS;
static PyObject *__pyx_n_s__NotImplemented;
static PyObject *__pyx_n_s__NotImplementedError;
static PyObject *__pyx_n_s__O;
static PyObject *__pyx_n_s__OPAQUE;
static PyObject *__pyx_n_s__ORDER_BE;
static PyObject *__pyx_n_s__ORDER_LE;
static PyObject *__pyx_n_s__ORDER_NATIVE;
static PyObject *__pyx_n_s__ORDER_NONE;
static PyObject *__pyx_n_s__ORDER_VAX;
static PyObject *__pyx_n_s__PAD_BACKGROUND;
static PyObject *__pyx_n_s__PAD_ONE;
static PyObject *__pyx_n_s__PAD_ZERO;
static PyObject *__pyx_n_s__PY3;
static PyObject *__pyx_n_s__PYTHON_OBJECT;
static PyObject *__pyx_n_s__REFERENCE;
static PyObject *__pyx_n_s__SGN_2;
static PyObject *__pyx_n_s__SGN_NONE;
static PyObject *__pyx_n_s__STD_I16BE;
static PyObject *__pyx_n_s__STD_I16LE;
static PyObject *__pyx_n_s__STD_I32BE;
static PyObject *__pyx_n_s__STD_I32LE;
static PyObject *__pyx_n_s__STD_I64BE;
static PyObject *__pyx_n_s__STD_I64LE;
static PyObject *__pyx_n_s__STD_I8BE;
static PyObject *__pyx_n_s__STD_I8LE;
static PyObject *__pyx_n_s__STD_REF_DSETREG;
static PyObject *__pyx_n_s__STD_REF_OBJ;
static PyObject *__pyx_n_s__STD_U16BE;
static PyObject *__pyx_n_s__STD_U16LE;
static PyObject *__pyx_n_s__STD_U32BE;
static PyObject *__pyx_n_s__STD_U32LE;
static PyObject *__pyx_n_s__STD_U64BE;
static PyObject *__pyx_n_s__STD_U64LE;
static PyObject *__pyx_n_s__STD_U8BE;
static PyObject *__pyx_n_s__STD_U8LE;
static PyObject *__pyx_n_s__STRING;
static PyObject *__pyx_n_s__STR_NULLPAD;
static PyObject *__pyx_n_s__STR_NULLTERM;
static PyObject *__pyx_n_s__STR_SPACEPAD;
static PyObject *__pyx_n_s__TIME;
static PyObject *__pyx_n_s__TypeError;
static PyObject *__pyx_n_s__UNIX_D32BE;
static PyObject *__pyx_n_s__UNIX_D32LE;
static PyObject *__pyx_n_s__UNIX_D64BE;
static PyObject *__pyx_n_s__UNIX_D64LE;
static PyObject *__pyx_n_s__UnicodeDecodeError;
static PyObject *__pyx_n_s__VARIABLE;
static PyObject *__pyx_n_s__VLEN;
static PyObject *__pyx_n_s__ValueError;
static PyObject *__pyx_n_s____class__;
static PyObject *__pyx_n_s____copy__;
static PyObject *__pyx_n_s____hash__;
static PyObject *__pyx_n_s____main__;
static PyObject *__pyx_n_s____name__;
static PyObject *__pyx_n_s____test__;
static PyObject *__pyx_n_s___conv;
static PyObject *__pyx_n_s___f_name;
static PyObject *__pyx_n_s___i_name;
static PyObject *__pyx_n_s___r_name;
static PyObject *__pyx_n_s___t_name;
static PyObject *__pyx_n_s__array_create;
static PyObject *__pyx_n_s__ascii;
static PyObject *__pyx_n_s__base;
static PyObject *__pyx_n_s__bkg;
static PyObject *__pyx_n_s__bkg_;
static PyObject *__pyx_n_s__bool;
static PyObject *__pyx_n_s__buf;
static PyObject *__pyx_n_s__buf_;
static PyObject *__pyx_n_s__byteorder;
static PyObject *__pyx_n_s__c;
static PyObject *__pyx_n_s__cfg;
static PyObject *__pyx_n_s__check_dtype;
static PyObject *__pyx_n_s__classtype;
static PyObject *__pyx_n_s__convert;
static PyObject *__pyx_n_s__copy;
static PyObject *__pyx_n_s__create;
static PyObject *__pyx_n_s__data;
static PyObject *__pyx_n_s__decode;
static PyObject *__pyx_n_s__detect_class;
static PyObject *__pyx_n_s__dims;
static PyObject *__pyx_n_s__dims_tpl;
static PyObject *__pyx_n_s__dst;
static PyObject *__pyx_n_s__dt;
static PyObject *__pyx_n_s__dt_in;
static PyObject *__pyx_n_s__dtype;
static PyObject *__pyx_n_s__dtype_in;
static PyObject *__pyx_n_s__dxpl;
static PyObject *__pyx_n_s__encode;
static PyObject *__pyx_n_s__enum;
static PyObject *__pyx_n_s__enum_create;
static PyObject *__pyx_n_s__enum_insert;
static PyObject *__pyx_n_s__enum_vals;
static PyObject *__pyx_n_s__epos;
static PyObject *__pyx_n_s__equal;
static PyObject *__pyx_n_s__esize;
static PyObject *__pyx_n_s__f;
static PyObject *__pyx_n_s__f4;
static PyObject *__pyx_n_s__field;
static PyObject *__pyx_n_s__fields;
static PyObject *__pyx_n_s__find;
static PyObject *__pyx_n_s__float16;
static PyObject *__pyx_n_s__get_array_dims;
static PyObject *__pyx_n_s__get_config;
static PyObject *__pyx_n_s__get_cset;
static PyObject *__pyx_n_s__get_member_name;
static PyObject *__pyx_n_s__get_member_type;
static PyObject *__pyx_n_s__get_member_value;
static PyObject *__pyx_n_s__get_nmembers;
static PyObject *__pyx_n_s__get_order;
static PyObject *__pyx_n_s__get_python_obj;
static PyObject *__pyx_n_s__get_sign;
static PyObject *__pyx_n_s__get_size;
static PyObject *__pyx_n_s__get_super;
static PyObject *__pyx_n_s__group;
static PyObject *__pyx_n_s__h5;
static PyObject *__pyx_n_s__h5py;
static PyObject *__pyx_n_s__hint_dict;
static PyObject *__pyx_n_s__hintkey;
static PyObject *__pyx_n_s__i;
static PyObject *__pyx_n_s__id;
static PyObject *__pyx_n_s__is_variable_str;
static PyObject *__pyx_n_s__itemsize;
static PyObject *__pyx_n_s__iteritems;
static PyObject *__pyx_n_s__iu;
static PyObject *__pyx_n_s__kind;
static PyObject *__pyx_n_s__kwds;
static PyObject *__pyx_n_s__lcpl;
static PyObject *__pyx_n_s__little;
static PyObject *__pyx_n_s__lock;
static PyObject *__pyx_n_s__logical;
static PyObject *__pyx_n_s__longdouble;
static PyObject *__pyx_n_s__lsb;
static PyObject *__pyx_n_s__mpos;
static PyObject *__pyx_n_s__msb;
static PyObject *__pyx_n_s__msize;
static PyObject *__pyx_n_s__n;
static PyObject *__pyx_n_s__name;
static PyObject *__pyx_n_s__names;
static PyObject *__pyx_n_s__np;
static PyObject *__pyx_n_s__numpy;
static PyObject *__pyx_n_s__offset;
static PyObject *__pyx_n_s__open;
static PyObject *__pyx_n_s__popitem;
static PyObject *__pyx_n_s__py_create;
static PyObject *__pyx_n_s__range;
static PyObject *__pyx_n_s__rank;
static PyObject *__pyx_n_s__ref;
static PyObject *__pyx_n_s__result;
static PyObject *__pyx_n_s__set_ebias;
static PyObject *__pyx_n_s__set_fields;
static PyObject *__pyx_n_s__set_order;
static PyObject *__pyx_n_s__set_size;
static PyObject *__pyx_n_s__size;
static PyObject *__pyx_n_s__sorted;
static PyObject *__pyx_n_s__special_dtype;
static PyObject *__pyx_n_s__spos;
static PyObject *__pyx_n_s__src;
static PyObject *__pyx_n_s__str;
static PyObject *__pyx_n_s__subdtype;
static PyObject *__pyx_n_s__sys;
static PyObject *__pyx_n_s__tpl;
static PyObject *__pyx_n_s__type;
static PyObject *__pyx_n_s__u;
static PyObject *__pyx_n_s__utf8;
static PyObject *__pyx_n_s__val;
static PyObject *__pyx_n_s__vals;
static PyObject *__pyx_n_s__value;
static PyObject *__pyx_n_s__version;
static PyObject *__pyx_n_s__version_info;
static PyObject *__pyx_n_s__vlen;
static PyObject *__pyx_n_s__vlen_create;
static PyObject *__pyx_n_s__warnings;
static PyObject *__pyx_n_s__xrange;
static PyObject *__pyx_n_s__zip;
static PyObject *__pyx_int_0;
static PyObject *__pyx_int_1;
static PyObject *__pyx_int_2;
static PyObject *__pyx_int_3;
static PyObject *__pyx_int_4;
static PyObject *__pyx_int_5;
static PyObject *__pyx_int_8;
static PyObject *__pyx_int_neg_1;
static PyObject *__pyx_int_10;
static PyObject *__pyx_int_15;
static PyObject *__pyx_k_tuple_2;
static PyObject *__pyx_k_tuple_4;
static PyObject *__pyx_k_tuple_6;
static PyObject *__pyx_k_tuple_11;
static PyObject *__pyx_k_tuple_12;
static PyObject *__pyx_k_tuple_14;
static PyObject *__pyx_k_tuple_15;
static PyObject *__pyx_k_tuple_16;
static PyObject *__pyx_k_tuple_17;
static PyObject *__pyx_k_tuple_18;
static PyObject *__pyx_k_tuple_21;
static PyObject *__pyx_k_tuple_22;
static PyObject *__pyx_k_tuple_23;
static PyObject *__pyx_k_tuple_24;
static PyObject *__pyx_k_tuple_29;
static PyObject *__pyx_k_tuple_31;
static PyObject *__pyx_k_tuple_33;
static PyObject *__pyx_k_tuple_37;
static PyObject *__pyx_k_tuple_39;
static PyObject *__pyx_k_tuple_41;
static PyObject *__pyx_k_tuple_43;
static PyObject *__pyx_k_tuple_45;
static PyObject *__pyx_k_tuple_47;
static PyObject *__pyx_k_tuple_50;
static PyObject *__pyx_k_tuple_51;
static PyObject *__pyx_k_tuple_52;
static PyObject *__pyx_k_tuple_56;
static PyObject *__pyx_k_tuple_60;
static PyObject *__pyx_k_tuple_62;
static PyObject *__pyx_k_tuple_64;
static PyObject *__pyx_k_tuple_66;
static PyObject *__pyx_k_tuple_68;
static PyObject *__pyx_k_tuple_70;
static PyObject *__pyx_k_tuple_72;
static PyObject *__pyx_k_tuple_74;
static PyObject *__pyx_k_tuple_76;
static PyObject *__pyx_k_codeobj_57;
static PyObject *__pyx_k_codeobj_61;
static PyObject *__pyx_k_codeobj_63;
static PyObject *__pyx_k_codeobj_65;
static PyObject *__pyx_k_codeobj_67;
static PyObject *__pyx_k_codeobj_69;
static PyObject *__pyx_k_codeobj_71;
static PyObject *__pyx_k_codeobj_73;
static PyObject *__pyx_k_codeobj_75;
static PyObject *__pyx_k_codeobj_77;

/* "h5py/h5t.pyx":39
 * # === Custom C API ============================================================
 * 
 * cpdef TypeID typewrap(hid_t id_):             # <<<<<<<<<<<<<<
 * 
 *     cdef H5T_class_t cls
 */

static PyObject *__pyx_pw_4h5py_3h5t_1typewrap(PyObject *__pyx_self, PyObject *__pyx_arg_id_); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_f_4h5py_3h5t_typewrap(hid_t __pyx_v_id_, CYTHON_UNUSED int __pyx_skip_dispatch) {
  enum H5T_class_t __pyx_v_cls;
  PyObject *__pyx_v_pcls = NULL;
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  enum H5T_class_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("typewrap", 0);

  /* "h5py/h5t.pyx":42
 * 
 *     cdef H5T_class_t cls
 *     cls = H5Tget_class(id_)             # <<<<<<<<<<<<<<
 * 
 *     if cls == H5T_INTEGER:
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_class(__pyx_v_id_); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_cls = __pyx_t_1;

  /* "h5py/h5t.pyx":44
 *     cls = H5Tget_class(id_)
 * 
 *     if cls == H5T_INTEGER:             # <<<<<<<<<<<<<<
 *         pcls = TypeIntegerID
 *     elif cls == H5T_FLOAT:
 */
  __pyx_t_2 = (__pyx_v_cls == H5T_INTEGER);
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":45
 * 
 *     if cls == H5T_INTEGER:
 *         pcls = TypeIntegerID             # <<<<<<<<<<<<<<
 *     elif cls == H5T_FLOAT:
 *         pcls = TypeFloatID
 */
    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeIntegerID)));
    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeIntegerID);
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":46
 *     if cls == H5T_INTEGER:
 *         pcls = TypeIntegerID
 *     elif cls == H5T_FLOAT:             # <<<<<<<<<<<<<<
 *         pcls = TypeFloatID
 *     elif cls == H5T_TIME:
 */
  __pyx_t_2 = (__pyx_v_cls == H5T_FLOAT);
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":47
 *         pcls = TypeIntegerID
 *     elif cls == H5T_FLOAT:
 *         pcls = TypeFloatID             # <<<<<<<<<<<<<<
 *     elif cls == H5T_TIME:
 *         pcls = TypeTimeID
 */
    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeFloatID)));
    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeFloatID);
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":48
 *     elif cls == H5T_FLOAT:
 *         pcls = TypeFloatID
 *     elif cls == H5T_TIME:             # <<<<<<<<<<<<<<
 *         pcls = TypeTimeID
 *     elif cls == H5T_STRING:
 */
  __pyx_t_2 = (__pyx_v_cls == H5T_TIME);
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":49
 *         pcls = TypeFloatID
 *     elif cls == H5T_TIME:
 *         pcls = TypeTimeID             # <<<<<<<<<<<<<<
 *     elif cls == H5T_STRING:
 *         pcls = TypeStringID
 */
    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeTimeID)));
    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeTimeID);
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":50
 *     elif cls == H5T_TIME:
 *         pcls = TypeTimeID
 *     elif cls == H5T_STRING:             # <<<<<<<<<<<<<<
 *         pcls = TypeStringID
 *     elif cls == H5T_BITFIELD:
 */
  __pyx_t_2 = (__pyx_v_cls == H5T_STRING);
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":51
 *         pcls = TypeTimeID
 *     elif cls == H5T_STRING:
 *         pcls = TypeStringID             # <<<<<<<<<<<<<<
 *     elif cls == H5T_BITFIELD:
 *         pcls = TypeBitfieldID
 */
    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeStringID)));
    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeStringID);
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":52
 *     elif cls == H5T_STRING:
 *         pcls = TypeStringID
 *     elif cls == H5T_BITFIELD:             # <<<<<<<<<<<<<<
 *         pcls = TypeBitfieldID
 *     elif cls == H5T_OPAQUE:
 */
  __pyx_t_2 = (__pyx_v_cls == H5T_BITFIELD);
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":53
 *         pcls = TypeStringID
 *     elif cls == H5T_BITFIELD:
 *         pcls = TypeBitfieldID             # <<<<<<<<<<<<<<
 *     elif cls == H5T_OPAQUE:
 *         pcls = TypeOpaqueID
 */
    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeBitfieldID)));
    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeBitfieldID);
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":54
 *     elif cls == H5T_BITFIELD:
 *         pcls = TypeBitfieldID
 *     elif cls == H5T_OPAQUE:             # <<<<<<<<<<<<<<
 *         pcls = TypeOpaqueID
 *     elif cls == H5T_COMPOUND:
 */
  __pyx_t_2 = (__pyx_v_cls == H5T_OPAQUE);
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":55
 *         pcls = TypeBitfieldID
 *     elif cls == H5T_OPAQUE:
 *         pcls = TypeOpaqueID             # <<<<<<<<<<<<<<
 *     elif cls == H5T_COMPOUND:
 *         pcls = TypeCompoundID
 */
    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeOpaqueID)));
    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeOpaqueID);
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":56
 *     elif cls == H5T_OPAQUE:
 *         pcls = TypeOpaqueID
 *     elif cls == H5T_COMPOUND:             # <<<<<<<<<<<<<<
 *         pcls = TypeCompoundID
 *     elif cls == H5T_REFERENCE:
 */
  __pyx_t_2 = (__pyx_v_cls == H5T_COMPOUND);
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":57
 *         pcls = TypeOpaqueID
 *     elif cls == H5T_COMPOUND:
 *         pcls = TypeCompoundID             # <<<<<<<<<<<<<<
 *     elif cls == H5T_REFERENCE:
 *         pcls = TypeReferenceID
 */
    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeCompoundID)));
    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeCompoundID);
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":58
 *     elif cls == H5T_COMPOUND:
 *         pcls = TypeCompoundID
 *     elif cls == H5T_REFERENCE:             # <<<<<<<<<<<<<<
 *         pcls = TypeReferenceID
 *     elif cls == H5T_ENUM:
 */
  __pyx_t_2 = (__pyx_v_cls == H5T_REFERENCE);
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":59
 *         pcls = TypeCompoundID
 *     elif cls == H5T_REFERENCE:
 *         pcls = TypeReferenceID             # <<<<<<<<<<<<<<
 *     elif cls == H5T_ENUM:
 *         pcls = TypeEnumID
 */
    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeReferenceID)));
    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeReferenceID);
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":60
 *     elif cls == H5T_REFERENCE:
 *         pcls = TypeReferenceID
 *     elif cls == H5T_ENUM:             # <<<<<<<<<<<<<<
 *         pcls = TypeEnumID
 *     elif cls == H5T_VLEN:
 */
  __pyx_t_2 = (__pyx_v_cls == H5T_ENUM);
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":61
 *         pcls = TypeReferenceID
 *     elif cls == H5T_ENUM:
 *         pcls = TypeEnumID             # <<<<<<<<<<<<<<
 *     elif cls == H5T_VLEN:
 *         pcls = TypeVlenID
 */
    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeEnumID)));
    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeEnumID);
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":62
 *     elif cls == H5T_ENUM:
 *         pcls = TypeEnumID
 *     elif cls == H5T_VLEN:             # <<<<<<<<<<<<<<
 *         pcls = TypeVlenID
 *     elif cls == H5T_ARRAY:
 */
  __pyx_t_2 = (__pyx_v_cls == H5T_VLEN);
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":63
 *         pcls = TypeEnumID
 *     elif cls == H5T_VLEN:
 *         pcls = TypeVlenID             # <<<<<<<<<<<<<<
 *     elif cls == H5T_ARRAY:
 *         pcls = TypeArrayID
 */
    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeVlenID)));
    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeVlenID);
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":64
 *     elif cls == H5T_VLEN:
 *         pcls = TypeVlenID
 *     elif cls == H5T_ARRAY:             # <<<<<<<<<<<<<<
 *         pcls = TypeArrayID
 *     else:
 */
  __pyx_t_2 = (__pyx_v_cls == H5T_ARRAY);
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":65
 *         pcls = TypeVlenID
 *     elif cls == H5T_ARRAY:
 *         pcls = TypeArrayID             # <<<<<<<<<<<<<<
 *     else:
 *         pcls = TypeID
 */
    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeArrayID)));
    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeArrayID);
    goto __pyx_L3;
  }
  /*else*/ {

    /* "h5py/h5t.pyx":67
 *         pcls = TypeArrayID
 *     else:
 *         pcls = TypeID             # <<<<<<<<<<<<<<
 * 
 *     return pcls(id_)
 */
    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeID)));
    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeID);
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":69
 *         pcls = TypeID
 * 
 *     return pcls(id_)             # <<<<<<<<<<<<<<
 * 
 * cdef object lockid(hid_t id_in):
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_id_); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  __pyx_t_3 = 0;
  __pyx_t_3 = PyObject_Call(((PyObject *)__pyx_v_pcls), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_3);
  __pyx_t_3 = 0;
  goto __pyx_L0;

  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5t.typewrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pcls);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_1typewrap(PyObject *__pyx_self, PyObject *__pyx_arg_id_); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5t_1typewrap(PyObject *__pyx_self, PyObject *__pyx_arg_id_) {
  hid_t __pyx_v_id_;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("typewrap (wrapper)", 0);
  assert(__pyx_arg_id_); {
    __pyx_v_id_ = __Pyx_PyInt_from_py_hid_t(__pyx_arg_id_); if (unlikely((__pyx_v_id_ == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.typewrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_typewrap(__pyx_self, ((hid_t)__pyx_v_id_));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":39
 * # === Custom C API ============================================================
 * 
 * cpdef TypeID typewrap(hid_t id_):             # <<<<<<<<<<<<<<
 * 
 *     cdef H5T_class_t cls
 */

static PyObject *__pyx_pf_4h5py_3h5t_typewrap(CYTHON_UNUSED PyObject *__pyx_self, hid_t __pyx_v_id_) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("typewrap", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_v_id_, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5t.typewrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":71
 *     return pcls(id_)
 * 
 * cdef object lockid(hid_t id_in):             # <<<<<<<<<<<<<<
 *     cdef TypeID tid
 *     tid = typewrap(id_in)
 */

static PyObject *__pyx_f_4h5py_3h5t_lockid(hid_t __pyx_v_id_in) {
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("lockid", 0);

  /* "h5py/h5t.pyx":73
 * cdef object lockid(hid_t id_in):
 *     cdef TypeID tid
 *     tid = typewrap(id_in)             # <<<<<<<<<<<<<<
 *     tid.locked = 1
 *     return tid
 */
  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_v_id_in, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":74
 *     cdef TypeID tid
 *     tid = typewrap(id_in)
 *     tid.locked = 1             # <<<<<<<<<<<<<<
 *     return tid
 * 
 */
  __pyx_v_tid->__pyx_base.locked = 1;

  /* "h5py/h5t.pyx":75
 *     tid = typewrap(id_in)
 *     tid.locked = 1
 *     return tid             # <<<<<<<<<<<<<<
 * 
 * # === Public constants and data structures ====================================
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_tid));
  __pyx_r = ((PyObject *)__pyx_v_tid);
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5t.lockid", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_tid);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_3create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5t_2create[] = "(INT classtype, UINT size) => TypeID\n        \n    Create a new HDF5 type object.  Legal class values are \n    COMPOUND and OPAQUE.  Use enum_create for enums.\n    ";
static PyMethodDef __pyx_mdef_4h5py_3h5t_3create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5t_3create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_2create)};
static PyObject *__pyx_pw_4h5py_3h5t_3create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_classtype;
  size_t __pyx_v_size;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__classtype,&__pyx_n_s__size,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__classtype)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("create", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_classtype = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_classtype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_size = __Pyx_PyInt_AsSize_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("create", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_2create(__pyx_self, __pyx_v_classtype, __pyx_v_size);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":219
 * 
 * 
 * def create(int classtype, size_t size):             # <<<<<<<<<<<<<<
 *     """(INT classtype, UINT size) => TypeID
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_2create(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_classtype, size_t __pyx_v_size) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  hid_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "h5py/h5t.pyx":227
 * 
 *     # HDF5 versions 1.6.X segfault with anything else
 *     if classtype != H5T_COMPOUND and classtype != H5T_OPAQUE:             # <<<<<<<<<<<<<<
 *         raise ValueError("Class must be COMPOUND or OPAQUE.")
 * 
 */
  __pyx_t_1 = (__pyx_v_classtype != H5T_COMPOUND);
  if (__pyx_t_1) {
    __pyx_t_2 = (__pyx_v_classtype != H5T_OPAQUE);
    __pyx_t_3 = __pyx_t_2;
  } else {
    __pyx_t_3 = __pyx_t_1;
  }
  if (__pyx_t_3) {

    /* "h5py/h5t.pyx":228
 *     # HDF5 versions 1.6.X segfault with anything else
 *     if classtype != H5T_COMPOUND and classtype != H5T_OPAQUE:
 *         raise ValueError("Class must be COMPOUND or OPAQUE.")             # <<<<<<<<<<<<<<
 * 
 *     return typewrap(H5Tcreate(<H5T_class_t>classtype, size))
 */
    __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":230
 *         raise ValueError("Class must be COMPOUND or OPAQUE.")
 * 
 *     return typewrap(H5Tcreate(<H5T_class_t>classtype, size))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tcreate(((enum H5T_class_t)__pyx_v_classtype), __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_5, 0)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5t.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_5open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5t_4open[] = "(ObjectID group, STRING name) => TypeID\n\n    Open a named datatype from a file.\n    ";
static PyMethodDef __pyx_mdef_4h5py_3h5t_5open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pw_4h5py_3h5t_5open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_4open)};
static PyObject *__pyx_pw_4h5py_3h5t_5open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group = 0;
  char *__pyx_v_name;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("open (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__group,&__pyx_n_s__name,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__group)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_group = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
    __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "group", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4h5py_3h5t_4open(__pyx_self, __pyx_v_group, __pyx_v_name);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":233
 * 
 * 
 * def open(ObjectID group not None, char* name):             # <<<<<<<<<<<<<<
 *     """(ObjectID group, STRING name) => TypeID
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_4open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group, char *__pyx_v_name) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("open", 0);

  /* "h5py/h5t.pyx":238
 *     Open a named datatype from a file.
 *     """
 *     return typewrap(H5Topen(group.id, name))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Topen(__pyx_v_group->id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_7array_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5t_6array_create[] = "(TypeID base, TUPLE dimensions) => TypeArrayID\n\n    Create a new array datatype, using and HDF5 parent type and\n    dimensions given via a tuple of positive integers.  \"Unlimited\" \n    dimensions are not allowed.\n    ";
static PyMethodDef __pyx_mdef_4h5py_3h5t_7array_create = {__Pyx_NAMESTR("array_create"), (PyCFunction)__pyx_pw_4h5py_3h5t_7array_create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6array_create)};
static PyObject *__pyx_pw_4h5py_3h5t_7array_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base = 0;
  PyObject *__pyx_v_dims_tpl = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("array_create (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__base,&__pyx_n_s__dims_tpl,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__base)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dims_tpl)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("array_create", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "array_create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_base = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[0]);
    __pyx_v_dims_tpl = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("array_create", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.array_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_base), __pyx_ptype_4h5py_3h5t_TypeID, 0, "base", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4h5py_3h5t_6array_create(__pyx_self, __pyx_v_base, __pyx_v_dims_tpl);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":241
 * 
 * 
 * def array_create(TypeID base not None, object dims_tpl):             # <<<<<<<<<<<<<<
 *     """(TypeID base, TUPLE dimensions) => TypeArrayID
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6array_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base, PyObject *__pyx_v_dims_tpl) {
  hsize_t __pyx_v_rank;
  hsize_t *__pyx_v_dims;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  void *__pyx_t_3;
  hid_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("array_create", 0);

  /* "h5py/h5t.pyx":249
 *     """
 *     cdef hsize_t rank
 *     cdef hsize_t *dims = NULL             # <<<<<<<<<<<<<<
 * 
 *     require_tuple(dims_tpl, 0, -1, "dims_tpl")
 */
  __pyx_v_dims = NULL;

  /* "h5py/h5t.pyx":251
 *     cdef hsize_t *dims = NULL
 * 
 *     require_tuple(dims_tpl, 0, -1, "dims_tpl")             # <<<<<<<<<<<<<<
 *     rank = len(dims_tpl)
 *     dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
 */
  __pyx_t_1 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_dims_tpl, 0, -1, __pyx_k__dims_tpl); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":252
 * 
 *     require_tuple(dims_tpl, 0, -1, "dims_tpl")
 *     rank = len(dims_tpl)             # <<<<<<<<<<<<<<
 *     dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
 * 
 */
  __pyx_t_2 = PyObject_Length(__pyx_v_dims_tpl); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_rank = __pyx_t_2;

  /* "h5py/h5t.pyx":253
 *     require_tuple(dims_tpl, 0, -1, "dims_tpl")
 *     rank = len(dims_tpl)
 *     dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
 * 
 *     try:
 */
  __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_dims = ((hsize_t *)__pyx_t_3);

  /* "h5py/h5t.pyx":255
 *     dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         convert_tuple(dims_tpl, dims, rank)
 *         return TypeArrayID(H5Tarray_create(base.id, rank, dims, NULL))
 */
  /*try:*/ {

    /* "h5py/h5t.pyx":256
 * 
 *     try:
 *         convert_tuple(dims_tpl, dims, rank)             # <<<<<<<<<<<<<<
 *         return TypeArrayID(H5Tarray_create(base.id, rank, dims, NULL))
 *     finally:
 */
    __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_dims_tpl, __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L4;}

    /* "h5py/h5t.pyx":257
 *     try:
 *         convert_tuple(dims_tpl, dims, rank)
 *         return TypeArrayID(H5Tarray_create(base.id, rank, dims, NULL))             # <<<<<<<<<<<<<<
 *     finally:
 *         efree(dims)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tarray_create(__pyx_v_base->__pyx_base.id, __pyx_v_rank, __pyx_v_dims, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L4;}
    __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L4;}
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L4;}
    __Pyx_GOTREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeArrayID)), ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L4;}
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":259
 *         return TypeArrayID(H5Tarray_create(base.id, rank, dims, NULL))
 *     finally:
 *         efree(dims)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*finally:*/ {
    int __pyx_why;
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
    int __pyx_exc_lineno;
    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
    __pyx_why = 0; goto __pyx_L5;
    __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
    __pyx_why = 3; goto __pyx_L5;
    __pyx_L4: {
      __pyx_why = 4;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
      __pyx_exc_lineno = __pyx_lineno;
      goto __pyx_L5;
    }
    __pyx_L5:;
    __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
    switch (__pyx_why) {
      case 3: goto __pyx_L0;
      case 4: {
        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
        __pyx_lineno = __pyx_exc_lineno;
        __pyx_exc_type = 0;
        __pyx_exc_value = 0;
        __pyx_exc_tb = 0;
        goto __pyx_L1_error;
      }
    }
  }

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("h5py.h5t.array_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_9enum_create(PyObject *__pyx_self, PyObject *__pyx_v_base); /*proto*/
static char __pyx_doc_4h5py_3h5t_8enum_create[] = "(TypeID base) => TypeID\n\n    Create a new enumerated type based on an (integer) parent type.\n    ";
static PyMethodDef __pyx_mdef_4h5py_3h5t_9enum_create = {__Pyx_NAMESTR("enum_create"), (PyCFunction)__pyx_pw_4h5py_3h5t_9enum_create, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_8enum_create)};
static PyObject *__pyx_pw_4h5py_3h5t_9enum_create(PyObject *__pyx_self, PyObject *__pyx_v_base) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("enum_create (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_base), __pyx_ptype_4h5py_3h5t_TypeID, 0, "base", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4h5py_3h5t_8enum_create(__pyx_self, ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_base));
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":262
 * 
 * 
 * def enum_create(TypeID base not None):             # <<<<<<<<<<<<<<
 *     """(TypeID base) => TypeID
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_8enum_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("enum_create", 0);

  /* "h5py/h5t.pyx":267
 *     Create a new enumerated type based on an (integer) parent type.
 *     """
 *     return typewrap(H5Tenum_create(base.id))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tenum_create(__pyx_v_base->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.enum_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_11vlen_create(PyObject *__pyx_self, PyObject *__pyx_v_base); /*proto*/
static char __pyx_doc_4h5py_3h5t_10vlen_create[] = "(TypeID base) => TypeID\n\n    Create a new variable-length datatype, using any HDF5 type as a base.\n\n    Although the Python interface can manipulate these types, there is no\n    provision for reading/writing vlen data.\n    ";
static PyMethodDef __pyx_mdef_4h5py_3h5t_11vlen_create = {__Pyx_NAMESTR("vlen_create"), (PyCFunction)__pyx_pw_4h5py_3h5t_11vlen_create, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10vlen_create)};
static PyObject *__pyx_pw_4h5py_3h5t_11vlen_create(PyObject *__pyx_self, PyObject *__pyx_v_base) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("vlen_create (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_base), __pyx_ptype_4h5py_3h5t_TypeID, 0, "base", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4h5py_3h5t_10vlen_create(__pyx_self, ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_base));
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":270
 * 
 * 
 * def vlen_create(TypeID base not None):             # <<<<<<<<<<<<<<
 *     """(TypeID base) => TypeID
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_10vlen_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("vlen_create", 0);

  /* "h5py/h5t.pyx":278
 *     provision for reading/writing vlen data.
 *     """
 *     return typewrap(H5Tvlen_create(base.id))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tvlen_create(__pyx_v_base->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.vlen_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_13decode(PyObject *__pyx_self, PyObject *__pyx_arg_buf); /*proto*/
static char __pyx_doc_4h5py_3h5t_12decode[] = "(STRING buf) => TypeID\n\n    Unserialize an HDF5 type.  You can also do this with the native\n    Python pickling machinery.\n    ";
static PyMethodDef __pyx_mdef_4h5py_3h5t_13decode = {__Pyx_NAMESTR("decode"), (PyCFunction)__pyx_pw_4h5py_3h5t_13decode, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12decode)};
static PyObject *__pyx_pw_4h5py_3h5t_13decode(PyObject *__pyx_self, PyObject *__pyx_arg_buf) {
  char *__pyx_v_buf;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode (wrapper)", 0);
  assert(__pyx_arg_buf); {
    __pyx_v_buf = PyBytes_AsString(__pyx_arg_buf); if (unlikely((!__pyx_v_buf) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.decode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_12decode(__pyx_self, ((char *)__pyx_v_buf));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":281
 * 
 * 
 * def decode(char* buf):             # <<<<<<<<<<<<<<
 *     """(STRING buf) => TypeID
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12decode(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_buf) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("decode", 0);

  /* "h5py/h5t.pyx":287
 *     Python pickling machinery.
 *     """
 *     return typewrap(H5Tdecode(<unsigned char*>buf))             # <<<<<<<<<<<<<<
 * 
 * # === Base type class =========================================================
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tdecode(((unsigned char *)__pyx_v_buf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.decode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static Py_hash_t __pyx_pw_4h5py_3h5t_6TypeID_1__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4h5py_3h5t_6TypeID_1__hash__(PyObject *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID___hash__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":300
 *     """
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         if self._hash is None:
 *             try:
 */

static Py_hash_t __pyx_pf_4h5py_3h5t_6TypeID___hash__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  Py_hash_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "h5py/h5t.pyx":301
 * 
 *     def __hash__(self):
 *         if self._hash is None:             # <<<<<<<<<<<<<<
 *             try:
 *                 # Try to use object header first
 */
  __pyx_t_1 = (__pyx_v_self->__pyx_base._hash == Py_None);
  if (__pyx_t_1) {

    /* "h5py/h5t.pyx":302
 *     def __hash__(self):
 *         if self._hash is None:
 *             try:             # <<<<<<<<<<<<<<
 *                 # Try to use object header first
 *                 return ObjectID.__hash__(self)
 */
    {
      __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_2);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      /*try:*/ {

        /* "h5py/h5t.pyx":304
 *             try:
 *                 # Try to use object header first
 *                 return ObjectID.__hash__(self)             # <<<<<<<<<<<<<<
 *             except TypeError:
 *                 # It's a transient type object
 */
        __pyx_t_5 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_8_objects_ObjectID)), __pyx_n_s____hash__); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_INCREF(((PyObject *)__pyx_v_self));
        PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_self));
        __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
        __pyx_t_7 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
        __pyx_t_8 = __Pyx_PyInt_AsHash_t(__pyx_t_7); if (unlikely((__pyx_t_8 == (Py_hash_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_r = __pyx_t_8;
        goto __pyx_L8_try_return;
      }
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      goto __pyx_L11_try_end;
      __pyx_L8_try_return:;
      __Pyx_XGIVEREF(__pyx_t_2);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
      goto __pyx_L0;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "h5py/h5t.pyx":305
 *                 # Try to use object header first
 *                 return ObjectID.__hash__(self)
 *             except TypeError:             # <<<<<<<<<<<<<<
 *                 # It's a transient type object
 *                 if self.locked:
 */
      __pyx_t_9 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("h5py.h5t.TypeID.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GOTREF(__pyx_t_5);

        /* "h5py/h5t.pyx":307
 *             except TypeError:
 *                 # It's a transient type object
 *                 if self.locked:             # <<<<<<<<<<<<<<
 *                     self._hash = hash(self.encode())
 *                 else:
 */
        if (__pyx_v_self->__pyx_base.locked) {

          /* "h5py/h5t.pyx":308
 *                 # It's a transient type object
 *                 if self.locked:
 *                     self._hash = hash(self.encode())             # <<<<<<<<<<<<<<
 *                 else:
 *                     raise TypeError("Only locked or committed types can be hashed")
 */
          __pyx_t_10 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__encode); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
          __Pyx_GOTREF(__pyx_t_10);
          __pyx_t_11 = PyObject_Call(__pyx_t_10, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
          __Pyx_GOTREF(__pyx_t_11);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_8 = PyObject_Hash(__pyx_t_11); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          __pyx_t_11 = __Pyx_PyInt_FromHash_t(__pyx_t_8); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
          __Pyx_GOTREF(__pyx_t_11);
          __Pyx_GIVEREF(__pyx_t_11);
          __Pyx_GOTREF(__pyx_v_self->__pyx_base._hash);
          __Pyx_DECREF(__pyx_v_self->__pyx_base._hash);
          __pyx_v_self->__pyx_base._hash = __pyx_t_11;
          __pyx_t_11 = 0;
          goto __pyx_L14;
        }
        /*else*/ {

          /* "h5py/h5t.pyx":310
 *                     self._hash = hash(self.encode())
 *                 else:
 *                     raise TypeError("Only locked or committed types can be hashed")             # <<<<<<<<<<<<<<
 * 
 *         return self._hash
 */
          __pyx_t_11 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
          __Pyx_GOTREF(__pyx_t_11);
          __Pyx_Raise(__pyx_t_11, 0, 0, 0);
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
        }
        __pyx_L14:;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        goto __pyx_L5_exception_handled;
      }
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_2);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
      goto __pyx_L1_error;
      __pyx_L5_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_2);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
      __pyx_L11_try_end:;
    }
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":312
 *                     raise TypeError("Only locked or committed types can be hashed")
 * 
 *         return self._hash             # <<<<<<<<<<<<<<
 * 
 *     def __richcmp__(self, object other, int how):
 */
  __pyx_t_8 = __Pyx_PyInt_AsHash_t(__pyx_v_self->__pyx_base._hash); if (unlikely((__pyx_t_8 == (Py_hash_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_t_8;
  goto __pyx_L0;

  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5t.TypeID.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_2__richcmp__(((PyObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_how));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":314
 *         return self._hash
 * 
 *     def __richcmp__(self, object other, int how):             # <<<<<<<<<<<<<<
 *         cdef bint truthval = 0
 *         if how != 2 and how != 3:
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_2__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
  int __pyx_v_truthval;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__richcmp__", 0);

  /* "h5py/h5t.pyx":315
 * 
 *     def __richcmp__(self, object other, int how):
 *         cdef bint truthval = 0             # <<<<<<<<<<<<<<
 *         if how != 2 and how != 3:
 *             return NotImplemented
 */
  __pyx_v_truthval = 0;

  /* "h5py/h5t.pyx":316
 *     def __richcmp__(self, object other, int how):
 *         cdef bint truthval = 0
 *         if how != 2 and how != 3:             # <<<<<<<<<<<<<<
 *             return NotImplemented
 *         if isinstance(other, TypeID):
 */
  switch (__pyx_v_how) {
    case 2:
    case 3:
    __pyx_t_1 = 0;
    break;
    default:
    __pyx_t_1 = 1;
    break;
  }
  if (__pyx_t_1) {

    /* "h5py/h5t.pyx":317
 *         cdef bint truthval = 0
 *         if how != 2 and how != 3:
 *             return NotImplemented             # <<<<<<<<<<<<<<
 *         if isinstance(other, TypeID):
 *             truthval = self.equal(other)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_builtin_NotImplemented);
    __pyx_r = __pyx_builtin_NotImplemented;
    goto __pyx_L0;
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":318
 *         if how != 2 and how != 3:
 *             return NotImplemented
 *         if isinstance(other, TypeID):             # <<<<<<<<<<<<<<
 *             truthval = self.equal(other)
 * 
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeID)); 
  if (__pyx_t_1) {

    /* "h5py/h5t.pyx":319
 *             return NotImplemented
 *         if isinstance(other, TypeID):
 *             truthval = self.equal(other)             # <<<<<<<<<<<<<<
 * 
 *         if how == 2:
 */
    __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__equal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_v_other);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_other);
    __Pyx_GIVEREF(__pyx_v_other);
    __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_truthval = __pyx_t_1;
    goto __pyx_L4;
  }
  __pyx_L4:;

  /* "h5py/h5t.pyx":321
 *             truthval = self.equal(other)
 * 
 *         if how == 2:             # <<<<<<<<<<<<<<
 *             return truthval
 *         return not truthval
 */
  __pyx_t_1 = (__pyx_v_how == 2);
  if (__pyx_t_1) {

    /* "h5py/h5t.pyx":322
 * 
 *         if how == 2:
 *             return truthval             # <<<<<<<<<<<<<<
 *         return not truthval
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_truthval); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
    goto __pyx_L5;
  }
  __pyx_L5:;

  /* "h5py/h5t.pyx":323
 *         if how == 2:
 *             return truthval
 *         return not truthval             # <<<<<<<<<<<<<<
 * 
 *     def __copy__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __Pyx_PyBool_FromLong((!__pyx_v_truthval)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5t.TypeID.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_5__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_5__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__copy__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_4__copy__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":325
 *         return not truthval
 * 
 *     def __copy__(self):             # <<<<<<<<<<<<<<
 *         cdef TypeID cpy
 *         cpy = ObjectID.__copy__(self)
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_4__copy__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_cpy = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__copy__", 0);

  /* "h5py/h5t.pyx":327
 *     def __copy__(self):
 *         cdef TypeID cpy
 *         cpy = ObjectID.__copy__(self)             # <<<<<<<<<<<<<<
 *         return cpy
 * 
 */
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_8_objects_ObjectID)), __pyx_n_s____copy__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_cpy = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "h5py/h5t.pyx":328
 *         cdef TypeID cpy
 *         cpy = ObjectID.__copy__(self)
 *         return cpy             # <<<<<<<<<<<<<<
 * 
 *     property dtype:
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_cpy));
  __pyx_r = ((PyObject *)__pyx_v_cpy);
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("h5py.h5t.TypeID.__copy__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cpy);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_5dtype_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_5dtype_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_5dtype___get__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":333
 *         """ A Numpy-style dtype object representing this object.
 *         """
 *         def __get__(self):             # <<<<<<<<<<<<<<
 *             return self.py_dtype()
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_5dtype___get__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "h5py/h5t.pyx":334
 *         """
 *         def __get__(self):
 *             return self.py_dtype()             # <<<<<<<<<<<<<<
 * 
 *     cdef object py_dtype(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_self->__pyx_vtab)->py_dtype(__pyx_v_self); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5t.TypeID.dtype.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":336
 *             return self.py_dtype()
 * 
 *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
 *         raise TypeError("No NumPy equivalent for %s exists" % self.__class__.__name__)
 * 
 */

static PyObject *__pyx_f_4h5py_3h5t_6TypeID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_dtype", 0);

  /* "h5py/h5t.pyx":337
 * 
 *     cdef object py_dtype(self):
 *         raise TypeError("No NumPy equivalent for %s exists" % self.__class__.__name__)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s____class__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____name__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_5), __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
  __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_7commit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5t_6TypeID_6commit[] = "(ObjectID group, STRING name, PropID lcpl=None)\n\n        Commit this (transient) datatype to a named datatype in a file.\n        If present, lcpl may be a link creation property list.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_7commit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group = 0;
  char *__pyx_v_name;
  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_lcpl = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("commit (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__group,&__pyx_n_s__name,&__pyx_n_s__lcpl,0};
    PyObject* values[3] = {0,0,0};

    /* "h5py/h5t.pyx":340
 * 
 * 
 *     def commit(self, ObjectID group not None, char* name, ObjectID lcpl=None):             # <<<<<<<<<<<<<<
 *         """(ObjectID group, STRING name, PropID lcpl=None)
 * 
 */
    values[2] = (PyObject *)((struct __pyx_obj_4h5py_8_objects_ObjectID *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__group)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("commit", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "commit") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_group = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
    __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_lcpl = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("commit", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeID.commit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "group", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lcpl), __pyx_ptype_4h5py_8_objects_ObjectID, 1, "lcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_6commit(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), __pyx_v_group, __pyx_v_name, __pyx_v_lcpl);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_6commit(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group, char *__pyx_v_name, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_lcpl) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("commit", 0);

  /* "h5py/h5t.pyx":347
 *         """
 *         H5Tcommit2(group.id, name, self.id, pdefault(lcpl),
 *             H5P_DEFAULT, H5P_DEFAULT)             # <<<<<<<<<<<<<<
 * 
 *     def committed(self):
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcommit2(__pyx_v_group->id, __pyx_v_name, __pyx_v_self->__pyx_base.id, __pyx_f_4h5py_8_objects_pdefault(__pyx_v_lcpl), H5P_DEFAULT, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeID.commit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_9committed(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_6TypeID_8committed[] = "() => BOOL is_comitted\n\n        Determine if a given type object is named (T) or transient (F).\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_9committed(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("committed (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_8committed(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":349
 *             H5P_DEFAULT, H5P_DEFAULT)
 * 
 *     def committed(self):             # <<<<<<<<<<<<<<
 *         """() => BOOL is_comitted
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_8committed(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  htri_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("committed", 0);

  /* "h5py/h5t.pyx":354
 *         Determine if a given type object is named (T) or transient (F).
 *         """
 *         return <bint>(H5Tcommitted(self.id))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcommitted(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeID.committed", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_11copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_6TypeID_10copy[] = "() => TypeID\n\n        Create a copy of this type object.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_11copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("copy (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_10copy(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":357
 * 
 * 
 *     def copy(self):             # <<<<<<<<<<<<<<
 *         """() => TypeID
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_10copy(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("copy", 0);

  /* "h5py/h5t.pyx":362
 *         Create a copy of this type object.
 *         """
 *         return typewrap(H5Tcopy(self.id))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcopy(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeID.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_13equal(PyObject *__pyx_v_self, PyObject *__pyx_v_typeid); /*proto*/
static char __pyx_doc_4h5py_3h5t_6TypeID_12equal[] = "(TypeID typeid) => BOOL\n\n        Logical comparison between datatypes.  Also called by\n        Python's \"==\" operator.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_13equal(PyObject *__pyx_v_self, PyObject *__pyx_v_typeid) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("equal (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_typeid), __pyx_ptype_4h5py_3h5t_TypeID, 1, "typeid", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_12equal(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_typeid));
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":365
 * 
 * 
 *     def equal(self, TypeID typeid):             # <<<<<<<<<<<<<<
 *         """(TypeID typeid) => BOOL
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_12equal(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_typeid) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  htri_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("equal", 0);

  /* "h5py/h5t.pyx":371
 *         Python's "==" operator.
 *         """
 *         return <bint>(H5Tequal(self.id, typeid.id))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tequal(__pyx_v_self->__pyx_base.id, __pyx_v_typeid->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeID.equal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_15lock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_6TypeID_14lock[] = "()\n\n        Lock this datatype, which makes it immutable and indestructible.\n        Once locked, it can't be unlocked.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_15lock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lock (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_14lock(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":374
 * 
 * 
 *     def lock(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_14lock(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("lock", 0);

  /* "h5py/h5t.pyx":380
 *         Once locked, it can't be unlocked.
 *         """
 *         H5Tlock(self.id)             # <<<<<<<<<<<<<<
 *         self.locked = 1
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tlock(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":381
 *         """
 *         H5Tlock(self.id)
 *         self.locked = 1             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_v_self->__pyx_base.locked = 1;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeID.lock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_17get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_6TypeID_16get_class[] = "() => INT classcode\n\n        Determine the datatype's class code.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_17get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_class (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_16get_class(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":384
 * 
 * 
 *     def get_class(self):             # <<<<<<<<<<<<<<
 *         """() => INT classcode
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_16get_class(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  enum H5T_class_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_class", 0);

  /* "h5py/h5t.pyx":389
 *         Determine the datatype's class code.
 *         """
 *         return <int>H5Tget_class(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_class(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeID.get_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_19set_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static char __pyx_doc_4h5py_3h5t_6TypeID_18set_size[] = "(UINT size)\n\n        Set the total size of the datatype, in bytes.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_19set_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
  size_t __pyx_v_size;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_size (wrapper)", 0);
  assert(__pyx_arg_size); {
    __pyx_v_size = __Pyx_PyInt_AsSize_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeID.set_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_18set_size(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), ((size_t)__pyx_v_size));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":392
 * 
 * 
 *     def set_size(self, size_t size):             # <<<<<<<<<<<<<<
 *         """(UINT size)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_18set_size(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, size_t __pyx_v_size) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_size", 0);

  /* "h5py/h5t.pyx":397
 *         Set the total size of the datatype, in bytes.
 *         """
 *         H5Tset_size(self.id, size)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_size(__pyx_v_self->__pyx_base.id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeID.set_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_21get_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_6TypeID_20get_size[] = " () => INT size\n\n            Determine the total size of a datatype, in bytes.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_21get_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_size (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_20get_size(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":400
 * 
 * 
 *     def get_size(self):             # <<<<<<<<<<<<<<
 *         """ () => INT size
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_20get_size(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  size_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_size", 0);

  /* "h5py/h5t.pyx":405
 *             Determine the total size of a datatype, in bytes.
 *         """
 *         return H5Tget_size(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeID.get_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_23get_super(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_6TypeID_22get_super[] = "() => TypeID\n\n        Determine the parent type of an array, enumeration or vlen datatype.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_23get_super(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_super (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_22get_super(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":408
 * 
 * 
 *     def get_super(self):             # <<<<<<<<<<<<<<
 *         """() => TypeID
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_22get_super(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_super", 0);

  /* "h5py/h5t.pyx":413
 *         Determine the parent type of an array, enumeration or vlen datatype.
 *         """
 *         return typewrap(H5Tget_super(self.id))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_super(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeID.get_super", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_25detect_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_classtype); /*proto*/
static char __pyx_doc_4h5py_3h5t_6TypeID_24detect_class[] = "(INT classtype) => BOOL class_is_present\n\n        Determine if a member of the given class exists in a compound\n        datatype.  The search is recursive.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_25detect_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_classtype) {
  int __pyx_v_classtype;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("detect_class (wrapper)", 0);
  assert(__pyx_arg_classtype); {
    __pyx_v_classtype = __Pyx_PyInt_AsInt(__pyx_arg_classtype); if (unlikely((__pyx_v_classtype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeID.detect_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_24detect_class(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), ((int)__pyx_v_classtype));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":416
 * 
 * 
 *     def detect_class(self, int classtype):             # <<<<<<<<<<<<<<
 *         """(INT classtype) => BOOL class_is_present
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_24detect_class(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, int __pyx_v_classtype) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  htri_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("detect_class", 0);

  /* "h5py/h5t.pyx":422
 *         datatype.  The search is recursive.
 *         """
 *         return <bint>(H5Tdetect_class(self.id, <H5T_class_t>classtype))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tdetect_class(__pyx_v_self->__pyx_base.id, ((enum H5T_class_t)__pyx_v_classtype)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeID.detect_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_27_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_6TypeID_26_close[] = "()\n\n        Close this datatype.  If it's locked, nothing happens.\n\n        You shouldn't ordinarily need to call this function; datatype\n        objects are automatically closed when they're deallocated.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_27_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_close (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_26_close(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":425
 * 
 * 
 *     def _close(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_26_close(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  herr_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_close", 0);

  /* "h5py/h5t.pyx":433
 *         objects are automatically closed when they're deallocated.
 *         """
 *         if not self.locked:             # <<<<<<<<<<<<<<
 *             H5Tclose(self.id)
 * 
 */
  __pyx_t_1 = (!__pyx_v_self->__pyx_base.locked);
  if (__pyx_t_1) {

    /* "h5py/h5t.pyx":434
 *         """
 *         if not self.locked:
 *             H5Tclose(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tclose(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeID._close", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_29encode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_6TypeID_28encode[] = "() => STRING\n\n        Serialize an HDF5 type.  Bear in mind you can also use the\n        native Python pickle/unpickle machinery to do this.  The\n        returned string may contain binary values, including NULLs.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_29encode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_28encode(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":437
 * 
 * 
 *     def encode(self):             # <<<<<<<<<<<<<<
 *         """() => STRING
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_28encode(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
  size_t __pyx_v_nalloc;
  char *__pyx_v_buf;
  PyObject *__pyx_v_pystr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  void *__pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("encode", 0);

  /* "h5py/h5t.pyx":444
 *         returned string may contain binary values, including NULLs.
 *         """
 *         cdef size_t nalloc = 0             # <<<<<<<<<<<<<<
 *         cdef char* buf = NULL
 * 
 */
  __pyx_v_nalloc = 0;

  /* "h5py/h5t.pyx":445
 *         """
 *         cdef size_t nalloc = 0
 *         cdef char* buf = NULL             # <<<<<<<<<<<<<<
 * 
 *         H5Tencode(self.id, NULL, &nalloc)
 */
  __pyx_v_buf = NULL;

  /* "h5py/h5t.pyx":447
 *         cdef char* buf = NULL
 * 
 *         H5Tencode(self.id, NULL, &nalloc)             # <<<<<<<<<<<<<<
 *         buf = <char*>emalloc(sizeof(char)*nalloc)
 *         try:
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tencode(__pyx_v_self->__pyx_base.id, NULL, (&__pyx_v_nalloc)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":448
 * 
 *         H5Tencode(self.id, NULL, &nalloc)
 *         buf = <char*>emalloc(sizeof(char)*nalloc)             # <<<<<<<<<<<<<<
 *         try:
 *             H5Tencode(self.id, <unsigned char*>buf, &nalloc)
 */
  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(char)) * __pyx_v_nalloc)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_buf = ((char *)__pyx_t_2);

  /* "h5py/h5t.pyx":449
 *         H5Tencode(self.id, NULL, &nalloc)
 *         buf = <char*>emalloc(sizeof(char)*nalloc)
 *         try:             # <<<<<<<<<<<<<<
 *             H5Tencode(self.id, <unsigned char*>buf, &nalloc)
 *             pystr = PyBytes_FromStringAndSize(buf, nalloc)
 */
  /*try:*/ {

    /* "h5py/h5t.pyx":450
 *         buf = <char*>emalloc(sizeof(char)*nalloc)
 *         try:
 *             H5Tencode(self.id, <unsigned char*>buf, &nalloc)             # <<<<<<<<<<<<<<
 *             pystr = PyBytes_FromStringAndSize(buf, nalloc)
 *         finally:
 */
    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tencode(__pyx_v_self->__pyx_base.id, ((unsigned char *)__pyx_v_buf), (&__pyx_v_nalloc)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L4;}

    /* "h5py/h5t.pyx":451
 *         try:
 *             H5Tencode(self.id, <unsigned char*>buf, &nalloc)
 *             pystr = PyBytes_FromStringAndSize(buf, nalloc)             # <<<<<<<<<<<<<<
 *         finally:
 *             efree(buf)
 */
    __pyx_t_3 = PyBytes_FromStringAndSize(__pyx_v_buf, __pyx_v_nalloc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L4;}
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pystr = __pyx_t_3;
    __pyx_t_3 = 0;
  }

  /* "h5py/h5t.pyx":453
 *             pystr = PyBytes_FromStringAndSize(buf, nalloc)
 *         finally:
 *             efree(buf)             # <<<<<<<<<<<<<<
 * 
 *         return pystr
 */
  /*finally:*/ {
    int __pyx_why;
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
    int __pyx_exc_lineno;
    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
    __pyx_why = 0; goto __pyx_L5;
    __pyx_L4: {
      __pyx_why = 4;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
      __pyx_exc_lineno = __pyx_lineno;
      goto __pyx_L5;
    }
    __pyx_L5:;
    __pyx_f_4h5py_5utils_efree(__pyx_v_buf);
    switch (__pyx_why) {
      case 4: {
        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
        __pyx_lineno = __pyx_exc_lineno;
        __pyx_exc_type = 0;
        __pyx_exc_value = 0;
        __pyx_exc_tb = 0;
        goto __pyx_L1_error;
      }
    }
  }

  /* "h5py/h5t.pyx":455
 *             efree(buf)
 * 
 *         return pystr             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pystr);
  __pyx_r = __pyx_v_pystr;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("h5py.h5t.TypeID.encode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pystr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_31__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_31__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_30__reduce__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":458
 * 
 * 
 *     def __reduce__(self):             # <<<<<<<<<<<<<<
 *         return (type(self), (-1,), self.encode())
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_30__reduce__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce__", 0);

  /* "h5py/h5t.pyx":459
 * 
 *     def __reduce__(self):
 *         return (type(self), (-1,), self.encode())             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__encode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
  __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
  __Pyx_INCREF(((PyObject *)__pyx_k_tuple_6));
  PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_k_tuple_6));
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_6));
  PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = ((PyObject *)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeID.__reduce__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_33__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_arg_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_33__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_arg_state) {
  char *__pyx_v_state;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate__ (wrapper)", 0);
  assert(__pyx_arg_state); {
    __pyx_v_state = PyBytes_AsString(__pyx_arg_state); if (unlikely((!__pyx_v_state) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeID.__setstate__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_32__setstate__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), ((char *)__pyx_v_state));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":462
 * 
 * 
 *     def __setstate__(self, char* state):             # <<<<<<<<<<<<<<
 *         self.id = H5Tdecode(<unsigned char*>state)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_32__setstate__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, char *__pyx_v_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate__", 0);

  /* "h5py/h5t.pyx":463
 * 
 *     def __setstate__(self, char* state):
 *         self.id = H5Tdecode(<unsigned char*>state)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tdecode(((unsigned char *)__pyx_v_state)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_self->__pyx_base.id = __pyx_t_1;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeID.__setstate__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_11TypeArrayID_1get_array_ndims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_11TypeArrayID_get_array_ndims[] = "() => INT rank\n\n        Get the rank of the given array datatype.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_11TypeArrayID_1get_array_ndims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_array_ndims (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeArrayID_get_array_ndims(((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":475
 * 
 * 
 *     def get_array_ndims(self):             # <<<<<<<<<<<<<<
 *         """() => INT rank
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_get_array_ndims(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_array_ndims", 0);

  /* "h5py/h5t.pyx":480
 *         Get the rank of the given array datatype.
 *         """
 *         return H5Tget_array_ndims(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_array_ndims(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeArrayID.get_array_ndims", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_11TypeArrayID_3get_array_dims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_11TypeArrayID_2get_array_dims[] = "() => TUPLE dimensions\n\n        Get the dimensions of the given array datatype as\n        a tuple of integers.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_11TypeArrayID_3get_array_dims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_array_dims (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeArrayID_2get_array_dims(((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":483
 * 
 * 
 *     def get_array_dims(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE dimensions
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_2get_array_dims(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self) {
  hsize_t __pyx_v_rank;
  hsize_t *__pyx_v_dims;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  void *__pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_array_dims", 0);

  /* "h5py/h5t.pyx":490
 *         """
 *         cdef hsize_t rank
 *         cdef hsize_t* dims = NULL             # <<<<<<<<<<<<<<
 * 
 *         rank = H5Tget_array_dims(self.id, NULL, NULL)
 */
  __pyx_v_dims = NULL;

  /* "h5py/h5t.pyx":492
 *         cdef hsize_t* dims = NULL
 * 
 *         rank = H5Tget_array_dims(self.id, NULL, NULL)             # <<<<<<<<<<<<<<
 *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
 *         try:
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_array_dims(__pyx_v_self->__pyx_base.__pyx_base.id, NULL, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_rank = __pyx_t_1;

  /* "h5py/h5t.pyx":493
 * 
 *         rank = H5Tget_array_dims(self.id, NULL, NULL)
 *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
 *         try:
 *             H5Tget_array_dims(self.id, dims, NULL)
 */
  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_dims = ((hsize_t *)__pyx_t_2);

  /* "h5py/h5t.pyx":494
 *         rank = H5Tget_array_dims(self.id, NULL, NULL)
 *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
 *         try:             # <<<<<<<<<<<<<<
 *             H5Tget_array_dims(self.id, dims, NULL)
 *             return convert_dims(dims, rank)
 */
  /*try:*/ {

    /* "h5py/h5t.pyx":495
 *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
 *         try:
 *             H5Tget_array_dims(self.id, dims, NULL)             # <<<<<<<<<<<<<<
 *             return convert_dims(dims, rank)
 *         finally:
 */
    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_array_dims(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_dims, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L4;}

    /* "h5py/h5t.pyx":496
 *         try:
 *             H5Tget_array_dims(self.id, dims, NULL)
 *             return convert_dims(dims, rank)             # <<<<<<<<<<<<<<
 *         finally:
 *             efree(dims)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_dims, __pyx_v_rank); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L4;}
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":498
 *             return convert_dims(dims, rank)
 *         finally:
 *             efree(dims)             # <<<<<<<<<<<<<<
 * 
 *     cdef object py_dtype(self):
 */
  /*finally:*/ {
    int __pyx_why;
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
    int __pyx_exc_lineno;
    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
    __pyx_why = 0; goto __pyx_L5;
    __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
    __pyx_why = 3; goto __pyx_L5;
    __pyx_L4: {
      __pyx_why = 4;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
      __pyx_exc_lineno = __pyx_lineno;
      goto __pyx_L5;
    }
    __pyx_L5:;
    __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
    switch (__pyx_why) {
      case 3: goto __pyx_L0;
      case 4: {
        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
        __pyx_lineno = __pyx_exc_lineno;
        __pyx_exc_type = 0;
        __pyx_exc_value = 0;
        __pyx_exc_tb = 0;
        goto __pyx_L1_error;
      }
    }
  }

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("h5py.h5t.TypeArrayID.get_array_dims", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":500
 *             efree(dims)
 * 
 *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
 *         # Numpy translation function for array types
 *         cdef TypeID tmp_type
 */

static PyObject *__pyx_f_4h5py_3h5t_11TypeArrayID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self) {
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tmp_type = 0;
  PyObject *__pyx_v_base_dtype = NULL;
  PyObject *__pyx_v_shape = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_dtype", 0);

  /* "h5py/h5t.pyx":503
 *         # Numpy translation function for array types
 *         cdef TypeID tmp_type
 *         tmp_type = self.get_super()             # <<<<<<<<<<<<<<
 * 
 *         base_dtype = tmp_type.py_dtype()
 */
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_super); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_tmp_type = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "h5py/h5t.pyx":505
 *         tmp_type = self.get_super()
 * 
 *         base_dtype = tmp_type.py_dtype()             # <<<<<<<<<<<<<<
 * 
 *         shape = self.get_array_dims()
 */
  __pyx_t_2 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_tmp_type->__pyx_vtab)->py_dtype(__pyx_v_tmp_type); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_base_dtype = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "h5py/h5t.pyx":507
 *         base_dtype = tmp_type.py_dtype()
 * 
 *         shape = self.get_array_dims()             # <<<<<<<<<<<<<<
 *         return dtype( (base_dtype, shape) )
 * 
 */
  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_array_dims); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_shape = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":508
 * 
 *         shape = self.get_array_dims()
 *         return dtype( (base_dtype, shape) )             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_base_dtype);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_base_dtype);
  __Pyx_GIVEREF(__pyx_v_base_dtype);
  __Pyx_INCREF(__pyx_v_shape);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_shape);
  __Pyx_GIVEREF(__pyx_v_shape);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
  __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeArrayID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_tmp_type);
  __Pyx_XDECREF(__pyx_v_base_dtype);
  __Pyx_XDECREF(__pyx_v_shape);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeOpaqueID_1set_tag(PyObject *__pyx_v_self, PyObject *__pyx_arg_tag); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeOpaqueID_set_tag[] = "(STRING tag)\n\n        Set a string describing the contents of an opaque datatype.\n        Limited to 256 characters.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeOpaqueID_1set_tag(PyObject *__pyx_v_self, PyObject *__pyx_arg_tag) {
  char *__pyx_v_tag;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_tag (wrapper)", 0);
  assert(__pyx_arg_tag); {
    __pyx_v_tag = PyBytes_AsString(__pyx_arg_tag); if (unlikely((!__pyx_v_tag) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.set_tag", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeOpaqueID_set_tag(((struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *)__pyx_v_self), ((char *)__pyx_v_tag));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":518
 * 
 * 
 *     def set_tag(self, char* tag):             # <<<<<<<<<<<<<<
 *         """(STRING tag)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_set_tag(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self, char *__pyx_v_tag) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_tag", 0);

  /* "h5py/h5t.pyx":524
 *         Limited to 256 characters.
 *         """
 *         H5Tset_tag(self.id, tag)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_tag(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_tag); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.set_tag", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeOpaqueID_3get_tag(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeOpaqueID_2get_tag[] = "() => STRING tag\n\n        Get the tag associated with an opaque datatype.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeOpaqueID_3get_tag(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_tag (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeOpaqueID_2get_tag(((struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":527
 * 
 * 
 *     def get_tag(self):             # <<<<<<<<<<<<<<
 *         """() => STRING tag
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_2get_tag(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self) {
  char *__pyx_v_buf;
  char *__pyx_v_tag;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_tag", 0);

  /* "h5py/h5t.pyx":532
 *         Get the tag associated with an opaque datatype.
 *         """
 *         cdef char* buf = NULL             # <<<<<<<<<<<<<<
 * 
 *         try:
 */
  __pyx_v_buf = NULL;

  /* "h5py/h5t.pyx":534
 *         cdef char* buf = NULL
 * 
 *         try:             # <<<<<<<<<<<<<<
 *             buf = H5Tget_tag(self.id)
 *             assert buf != NULL
 */
  /*try:*/ {

    /* "h5py/h5t.pyx":535
 * 
 *         try:
 *             buf = H5Tget_tag(self.id)             # <<<<<<<<<<<<<<
 *             assert buf != NULL
 *             tag = buf
 */
    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_tag(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L4;}
    __pyx_v_buf = __pyx_t_1;

    /* "h5py/h5t.pyx":536
 *         try:
 *             buf = H5Tget_tag(self.id)
 *             assert buf != NULL             # <<<<<<<<<<<<<<
 *             tag = buf
 *             return tag
 */
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(!(__pyx_v_buf != NULL))) {
      PyErr_SetNone(PyExc_AssertionError);
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L4;}
    }
    #endif

    /* "h5py/h5t.pyx":537
 *             buf = H5Tget_tag(self.id)
 *             assert buf != NULL
 *             tag = buf             # <<<<<<<<<<<<<<
 *             return tag
 *         finally:
 */
    __pyx_v_tag = __pyx_v_buf;

    /* "h5py/h5t.pyx":538
 *             assert buf != NULL
 *             tag = buf
 *             return tag             # <<<<<<<<<<<<<<
 *         finally:
 *             free(buf)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyBytes_FromString(__pyx_v_tag); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L4;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_2));
    __pyx_r = ((PyObject *)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":540
 *             return tag
 *         finally:
 *             free(buf)             # <<<<<<<<<<<<<<
 * 
 *     cdef object py_dtype(self):
 */
  /*finally:*/ {
    int __pyx_why;
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
    int __pyx_exc_lineno;
    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
    __pyx_why = 0; goto __pyx_L5;
    __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
    __pyx_why = 3; goto __pyx_L5;
    __pyx_L4: {
      __pyx_why = 4;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
      __pyx_exc_lineno = __pyx_lineno;
      goto __pyx_L5;
    }
    __pyx_L5:;
    free(__pyx_v_buf);
    switch (__pyx_why) {
      case 3: goto __pyx_L0;
      case 4: {
        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
        __pyx_lineno = __pyx_exc_lineno;
        __pyx_exc_type = 0;
        __pyx_exc_value = 0;
        __pyx_exc_tb = 0;
        goto __pyx_L1_error;
      }
    }
  }

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.get_tag", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":542
 *             free(buf)
 * 
 *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
 *         # Numpy translation function for opaque types
 *         return dtype("|V" + str(self.get_size()))
 */

static PyObject *__pyx_f_4h5py_3h5t_12TypeOpaqueID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_dtype", 0);

  /* "h5py/h5t.pyx":544
 *     cdef object py_dtype(self):
 *         # Numpy translation function for opaque types
 *         return dtype("|V" + str(self.get_size()))             # <<<<<<<<<<<<<<
 * 
 * cdef class TypeStringID(TypeID):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(((PyObject *)__pyx_kp_s_7), __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_1is_variable_str(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeStringID_is_variable_str[] = "() => BOOL is_variable\n\n        Determine if the given string datatype is a variable-length string.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_1is_variable_str(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_variable_str (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_is_variable_str(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":553
 * 
 * 
 *     def is_variable_str(self):             # <<<<<<<<<<<<<<
 *         """() => BOOL is_variable
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_is_variable_str(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  htri_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_variable_str", 0);

  /* "h5py/h5t.pyx":558
 *         Determine if the given string datatype is a variable-length string.
 *         """
 *         return <bint>(H5Tis_variable_str(self.id))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tis_variable_str(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeStringID.is_variable_str", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_3get_cset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeStringID_2get_cset[] = "() => INT character_set\n\n        Retrieve the character set used for a string.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_3get_cset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_cset (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_2get_cset(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":561
 * 
 * 
 *     def get_cset(self):             # <<<<<<<<<<<<<<
 *         """() => INT character_set
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_2get_cset(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  H5T_cset_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_cset", 0);

  /* "h5py/h5t.pyx":566
 *         Retrieve the character set used for a string.
 *         """
 *         return <int>H5Tget_cset(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_cset(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeStringID.get_cset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_5set_cset(PyObject *__pyx_v_self, PyObject *__pyx_arg_cset); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeStringID_4set_cset[] = "(INT character_set)\n\n        Set the character set used for a string.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_5set_cset(PyObject *__pyx_v_self, PyObject *__pyx_arg_cset) {
  int __pyx_v_cset;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_cset (wrapper)", 0);
  assert(__pyx_arg_cset); {
    __pyx_v_cset = __Pyx_PyInt_AsInt(__pyx_arg_cset); if (unlikely((__pyx_v_cset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_cset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_4set_cset(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self), ((int)__pyx_v_cset));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":569
 * 
 * 
 *     def set_cset(self, int cset):             # <<<<<<<<<<<<<<
 *         """(INT character_set)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_4set_cset(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self, int __pyx_v_cset) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_cset", 0);

  /* "h5py/h5t.pyx":574
 *         Set the character set used for a string.
 *         """
 *         H5Tset_cset(self.id, <H5T_cset_t>cset)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_cset(__pyx_v_self->__pyx_base.__pyx_base.id, ((H5T_cset_t)__pyx_v_cset)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_cset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_7get_strpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeStringID_6get_strpad[] = "() => INT padding_type\n\n        Get the padding type.  Legal values are:\n\n        STR_NULLTERM\n            NULL termination only (C style)\n\n        STR_NULLPAD\n            Pad buffer with NULLs\n\n        STR_SPACEPAD\n            Pad buffer with spaces (FORTRAN style)\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_7get_strpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_strpad (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_6get_strpad(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":577
 * 
 * 
 *     def get_strpad(self):             # <<<<<<<<<<<<<<
 *         """() => INT padding_type
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_6get_strpad(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  H5T_str_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_strpad", 0);

  /* "h5py/h5t.pyx":591
 *             Pad buffer with spaces (FORTRAN style)
 *         """
 *         return <int>H5Tget_strpad(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_strpad(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeStringID.get_strpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_9set_strpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeStringID_8set_strpad[] = "(INT pad)\n\n        Set the padding type.  Legal values are:\n\n        STR_NULLTERM\n            NULL termination only (C style)\n\n        STR_NULLPAD\n            Pad buffer with NULLs\n\n        STR_SPACEPAD\n            Pad buffer with spaces (FORTRAN style)\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_9set_strpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad) {
  int __pyx_v_pad;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_strpad (wrapper)", 0);
  assert(__pyx_arg_pad); {
    __pyx_v_pad = __Pyx_PyInt_AsInt(__pyx_arg_pad); if (unlikely((__pyx_v_pad == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_strpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_8set_strpad(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self), ((int)__pyx_v_pad));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":594
 * 
 * 
 *     def set_strpad(self, int pad):             # <<<<<<<<<<<<<<
 *         """(INT pad)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_8set_strpad(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self, int __pyx_v_pad) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_strpad", 0);

  /* "h5py/h5t.pyx":608
 *             Pad buffer with spaces (FORTRAN style)
 *         """
 *         H5Tset_strpad(self.id, <H5T_str_t>pad)             # <<<<<<<<<<<<<<
 * 
 *     cdef object py_dtype(self):
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_strpad(__pyx_v_self->__pyx_base.__pyx_base.id, ((H5T_str_t)__pyx_v_pad)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_strpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":610
 *         H5Tset_strpad(self.id, <H5T_str_t>pad)
 * 
 *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
 *         # Numpy translation function for string types
 *         if self.is_variable_str():
 */

static PyObject *__pyx_f_4h5py_3h5t_12TypeStringID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_dtype", 0);

  /* "h5py/h5t.pyx":612
 *     cdef object py_dtype(self):
 *         # Numpy translation function for string types
 *         if self.is_variable_str():             # <<<<<<<<<<<<<<
 *             if self.get_cset() == H5T_CSET_ASCII:
 *                 return special_dtype(vlen=bytes)
 */
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__is_variable_str); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "h5py/h5t.pyx":613
 *         # Numpy translation function for string types
 *         if self.is_variable_str():
 *             if self.get_cset() == H5T_CSET_ASCII:             # <<<<<<<<<<<<<<
 *                 return special_dtype(vlen=bytes)
 *             elif self.get_cset() == H5T_CSET_UTF8:
 */
    __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_cset); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyInt_FromLong(H5T_CSET_ASCII); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (__pyx_t_3) {

      /* "h5py/h5t.pyx":614
 *         if self.is_variable_str():
 *             if self.get_cset() == H5T_CSET_ASCII:
 *                 return special_dtype(vlen=bytes)             # <<<<<<<<<<<<<<
 *             elif self.get_cset() == H5T_CSET_UTF8:
 *                 return special_dtype(vlen=unicode)
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(((PyObject *)__pyx_t_2));
      if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__vlen), ((PyObject *)((PyObject*)(&PyBytes_Type)))) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __pyx_t_1 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;
      goto __pyx_L4;
    }

    /* "h5py/h5t.pyx":615
 *             if self.get_cset() == H5T_CSET_ASCII:
 *                 return special_dtype(vlen=bytes)
 *             elif self.get_cset() == H5T_CSET_UTF8:             # <<<<<<<<<<<<<<
 *                 return special_dtype(vlen=unicode)
 *             else:
 */
    __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_cset); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyInt_FromLong(H5T_CSET_UTF8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (__pyx_t_3) {

      /* "h5py/h5t.pyx":616
 *                 return special_dtype(vlen=bytes)
 *             elif self.get_cset() == H5T_CSET_UTF8:
 *                 return special_dtype(vlen=unicode)             # <<<<<<<<<<<<<<
 *             else:
 *                 raise TypeError("Unknown string encoding (value %d)" % self.get_cset())
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(((PyObject *)__pyx_t_1));
      if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__vlen), ((PyObject *)((PyObject*)(&PyUnicode_Type)))) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __pyx_t_2 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      goto __pyx_L0;
      goto __pyx_L4;
    }
    /*else*/ {

      /* "h5py/h5t.pyx":618
 *                 return special_dtype(vlen=unicode)
 *             else:
 *                 raise TypeError("Unknown string encoding (value %d)" % self.get_cset())             # <<<<<<<<<<<<<<
 * 
 *         return dtype("|S" + str(self.get_size()))
 */
      __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_cset); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_8), __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(((PyObject *)__pyx_t_2));
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_1);
      PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_t_2));
      __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
      __pyx_t_2 = 0;
      __pyx_t_2 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    }
    __pyx_L4:;
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":620
 *                 raise TypeError("Unknown string encoding (value %d)" % self.get_cset())
 * 
 *         return dtype("|S" + str(self.get_size()))             # <<<<<<<<<<<<<<
 * 
 * cdef class TypeVlenID(TypeID):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(((PyObject *)__pyx_kp_s_9), __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5t.TypeStringID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":649
 *     """
 * 
 *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
 *         if H5Tequal(self.id, H5T_STD_REF_OBJ):
 *             return special_dtype(ref=Reference)
 */

static PyObject *__pyx_f_4h5py_3h5t_15TypeReferenceID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeReferenceID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  htri_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_dtype", 0);

  /* "h5py/h5t.pyx":650
 * 
 *     cdef object py_dtype(self):
 *         if H5Tequal(self.id, H5T_STD_REF_OBJ):             # <<<<<<<<<<<<<<
 *             return special_dtype(ref=Reference)
 *         elif H5Tequal(self.id, H5T_STD_REF_DSETREG):
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tequal(__pyx_v_self->__pyx_base.__pyx_base.id, H5T_STD_REF_OBJ); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_t_1) {

    /* "h5py/h5t.pyx":651
 *     cdef object py_dtype(self):
 *         if H5Tequal(self.id, H5T_STD_REF_OBJ):
 *             return special_dtype(ref=Reference)             # <<<<<<<<<<<<<<
 *         elif H5Tequal(self.id, H5T_STD_REF_DSETREG):
 *             return special_dtype(ref=RegionReference)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
    if (PyDict_SetItem(__pyx_t_3, ((PyObject *)__pyx_n_s__ref), ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_Reference))) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":652
 *         if H5Tequal(self.id, H5T_STD_REF_OBJ):
 *             return special_dtype(ref=Reference)
 *         elif H5Tequal(self.id, H5T_STD_REF_DSETREG):             # <<<<<<<<<<<<<<
 *             return special_dtype(ref=RegionReference)
 *         else:
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tequal(__pyx_v_self->__pyx_base.__pyx_base.id, H5T_STD_REF_DSETREG); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_t_1) {

    /* "h5py/h5t.pyx":653
 *             return special_dtype(ref=Reference)
 *         elif H5Tequal(self.id, H5T_STD_REF_DSETREG):
 *             return special_dtype(ref=RegionReference)             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError("Unknown reference type")
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
    if (PyDict_SetItem(__pyx_t_3, ((PyObject *)__pyx_n_s__ref), ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_RegionReference))) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
    goto __pyx_L3;
  }
  /*else*/ {

    /* "h5py/h5t.pyx":655
 *             return special_dtype(ref=RegionReference)
 *         else:
 *             raise TypeError("Unknown reference type")             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_2 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_11), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_L3:;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5t.TypeReferenceID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_1get_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_get_order[] = "() => INT order\n\n        Obtain the byte order of the datatype; one of:\n\n        - ORDER_LE\n        - ORDER_BE\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_1get_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_order (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_get_order(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":667
 * 
 * 
 *     def get_order(self):             # <<<<<<<<<<<<<<
 *         """() => INT order
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_get_order(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  H5T_order_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_order", 0);

  /* "h5py/h5t.pyx":675
 *         - ORDER_BE
 *         """
 *         return <int>H5Tget_order(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_order(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_3set_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_order); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_2set_order[] = "(INT order)\n\n        Set the byte order of the datatype; one of:\n\n        - ORDER_LE\n        - ORDER_BE\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_3set_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_order) {
  int __pyx_v_order;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_order (wrapper)", 0);
  assert(__pyx_arg_order); {
    __pyx_v_order = __Pyx_PyInt_AsInt(__pyx_arg_order); if (unlikely((__pyx_v_order == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_2set_order(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self), ((int)__pyx_v_order));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":678
 * 
 * 
 *     def set_order(self, int order):             # <<<<<<<<<<<<<<
 *         """(INT order)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_2set_order(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, int __pyx_v_order) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_order", 0);

  /* "h5py/h5t.pyx":686
 *         - ORDER_BE
 *         """
 *         H5Tset_order(self.id, <H5T_order_t>order)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_order(__pyx_v_self->__pyx_base.__pyx_base.id, ((H5T_order_t)__pyx_v_order)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_5get_precision(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_4get_precision[] = "() => UINT precision\n\n        Get the number of significant bits (excludes padding).\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_5get_precision(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_precision (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_4get_precision(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":689
 * 
 * 
 *     def get_precision(self):             # <<<<<<<<<<<<<<
 *         """() => UINT precision
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_4get_precision(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hsize_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_precision", 0);

  /* "h5py/h5t.pyx":694
 *         Get the number of significant bits (excludes padding).
 *         """
 *         return H5Tget_precision(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_precision(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __Pyx_PyInt_to_py_hsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_precision", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_7set_precision(PyObject *__pyx_v_self, PyObject *__pyx_arg_precision); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_6set_precision[] = "(UINT precision)\n            \n        Set the number of significant bits (excludes padding).\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_7set_precision(PyObject *__pyx_v_self, PyObject *__pyx_arg_precision) {
  size_t __pyx_v_precision;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_precision (wrapper)", 0);
  assert(__pyx_arg_precision); {
    __pyx_v_precision = __Pyx_PyInt_AsSize_t(__pyx_arg_precision); if (unlikely((__pyx_v_precision == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_precision", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_6set_precision(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self), ((size_t)__pyx_v_precision));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":697
 * 
 * 
 *     def set_precision(self, size_t precision):             # <<<<<<<<<<<<<<
 *         """(UINT precision)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_6set_precision(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, size_t __pyx_v_precision) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_precision", 0);

  /* "h5py/h5t.pyx":702
 *         Set the number of significant bits (excludes padding).
 *         """
 *         H5Tset_precision(self.id, precision)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_precision(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_precision); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_precision", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_9get_offset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_8get_offset[] = "() => INT offset\n\n        Get the offset of the first significant bit.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_9get_offset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_offset (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_8get_offset(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":705
 * 
 * 
 *     def get_offset(self):             # <<<<<<<<<<<<<<
 *         """() => INT offset
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_8get_offset(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_offset", 0);

  /* "h5py/h5t.pyx":710
 *         Get the offset of the first significant bit.
 *         """
 *         return H5Tget_offset(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_offset(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_11set_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_10set_offset[] = "(UINT offset)\n\n        Set the offset of the first significant bit.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_11set_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset) {
  size_t __pyx_v_offset;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_offset (wrapper)", 0);
  assert(__pyx_arg_offset); {
    __pyx_v_offset = __Pyx_PyInt_AsSize_t(__pyx_arg_offset); if (unlikely((__pyx_v_offset == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_10set_offset(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self), ((size_t)__pyx_v_offset));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":713
 * 
 * 
 *     def set_offset(self, size_t offset):             # <<<<<<<<<<<<<<
 *         """(UINT offset)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_10set_offset(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, size_t __pyx_v_offset) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_offset", 0);

  /* "h5py/h5t.pyx":718
 *         Set the offset of the first significant bit.
 *         """
 *         H5Tset_offset(self.id, offset)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_offset(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_offset); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_13get_pad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_12get_pad[] = "() => (INT lsb_pad_code, INT msb_pad_code)\n\n        Determine the padding type.  Possible values are:\n\n        - PAD_ZERO\n        - PAD_ONE\n        - PAD_BACKGROUND\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_13get_pad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_pad (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_12get_pad(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":721
 * 
 * 
 *     def get_pad(self):             # <<<<<<<<<<<<<<
 *         """() => (INT lsb_pad_code, INT msb_pad_code)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_12get_pad(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self) {
  H5T_pad_t __pyx_v_lsb;
  H5T_pad_t __pyx_v_msb;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_pad", 0);

  /* "h5py/h5t.pyx":732
 *         cdef H5T_pad_t lsb
 *         cdef H5T_pad_t msb
 *         H5Tget_pad(self.id, &lsb, &msb)             # <<<<<<<<<<<<<<
 *         return (<int>lsb, <int>msb)
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_pad(__pyx_v_self->__pyx_base.__pyx_base.id, (&__pyx_v_lsb), (&__pyx_v_msb)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":733
 *         cdef H5T_pad_t msb
 *         H5Tget_pad(self.id, &lsb, &msb)
 *         return (<int>lsb, <int>msb)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyInt_FromLong(((int)__pyx_v_lsb)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyInt_FromLong(((int)__pyx_v_msb)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = ((PyObject *)__pyx_t_4);
  __pyx_t_4 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_pad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_15set_pad(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_14set_pad[] = "(INT lsb_pad_code, INT msb_pad_code)\n\n        Set the padding type.  Possible values are:\n\n        - PAD_ZERO\n        - PAD_ONE\n        - PAD_BACKGROUND\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_15set_pad(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_lsb;
  int __pyx_v_msb;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_pad (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__lsb,&__pyx_n_s__msb,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lsb)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__msb)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_pad", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_pad") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_lsb = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_lsb == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_msb = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_msb == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_pad", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_pad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_14set_pad(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self), __pyx_v_lsb, __pyx_v_msb);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":736
 * 
 * 
 *     def set_pad(self, int lsb, int msb):             # <<<<<<<<<<<<<<
 *         """(INT lsb_pad_code, INT msb_pad_code)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_14set_pad(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, int __pyx_v_lsb, int __pyx_v_msb) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_pad", 0);

  /* "h5py/h5t.pyx":745
 *         - PAD_BACKGROUND
 *         """
 *         H5Tset_pad(self.id, <H5T_pad_t>lsb, <H5T_pad_t>msb)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_pad(__pyx_v_self->__pyx_base.__pyx_base.id, ((H5T_pad_t)__pyx_v_lsb), ((H5T_pad_t)__pyx_v_msb)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_pad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_13TypeIntegerID_1get_sign(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_13TypeIntegerID_get_sign[] = "() => INT sign\n\n        Get the \"signedness\" of the datatype; one of:\n\n        SGN_NONE\n            Unsigned\n\n        SGN_2\n            Signed 2's complement\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_13TypeIntegerID_1get_sign(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_sign (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_13TypeIntegerID_get_sign(((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":755
 * 
 * 
 *     def get_sign(self):             # <<<<<<<<<<<<<<
 *         """() => INT sign
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_get_sign(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  H5T_sign_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_sign", 0);

  /* "h5py/h5t.pyx":766
 *             Signed 2's complement
 *         """
 *         return <int>H5Tget_sign(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_sign(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.get_sign", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_13TypeIntegerID_3set_sign(PyObject *__pyx_v_self, PyObject *__pyx_arg_sign); /*proto*/
static char __pyx_doc_4h5py_3h5t_13TypeIntegerID_2set_sign[] = "(INT sign)\n\n        Set the \"signedness\" of the datatype; one of:\n\n        SGN_NONE\n            Unsigned\n\n        SGN_2\n            Signed 2's complement\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_13TypeIntegerID_3set_sign(PyObject *__pyx_v_self, PyObject *__pyx_arg_sign) {
  int __pyx_v_sign;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_sign (wrapper)", 0);
  assert(__pyx_arg_sign); {
    __pyx_v_sign = __Pyx_PyInt_AsInt(__pyx_arg_sign); if (unlikely((__pyx_v_sign == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.set_sign", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_13TypeIntegerID_2set_sign(((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_v_self), ((int)__pyx_v_sign));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":769
 * 
 * 
 *     def set_sign(self, int sign):             # <<<<<<<<<<<<<<
 *         """(INT sign)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_2set_sign(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self, int __pyx_v_sign) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_sign", 0);

  /* "h5py/h5t.pyx":780
 *             Signed 2's complement
 *         """
 *         H5Tset_sign(self.id, <H5T_sign_t>sign)             # <<<<<<<<<<<<<<
 * 
 *     cdef object py_dtype(self):
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_sign(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((H5T_sign_t)__pyx_v_sign)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.set_sign", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":782
 *         H5Tset_sign(self.id, <H5T_sign_t>sign)
 * 
 *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
 *         # Translation function for integer types
 *         return dtype( _order_map[self.get_order()] +
 */

static PyObject *__pyx_f_4h5py_3h5t_13TypeIntegerID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_dtype", 0);

  /* "h5py/h5t.pyx":784
 *     cdef object py_dtype(self):
 *         # Translation function for integer types
 *         return dtype( _order_map[self.get_order()] +             # <<<<<<<<<<<<<<
 *                       _sign_map[self.get_sign()] + str(self.get_size()) )
 * 
 */
  __Pyx_XDECREF(__pyx_r);

  /* "h5py/h5t.pyx":785
 *         # Translation function for integer types
 *         return dtype( _order_map[self.get_order()] +
 *                       _sign_map[self.get_sign()] + str(self.get_size()) )             # <<<<<<<<<<<<<<
 * 
 * 
 */
  if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__order_map) == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }

  /* "h5py/h5t.pyx":784
 *     cdef object py_dtype(self):
 *         # Translation function for integer types
 *         return dtype( _order_map[self.get_order()] +             # <<<<<<<<<<<<<<
 *                       _sign_map[self.get_sign()] + str(self.get_size()) )
 * 
 */
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_order); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_4h5py_3h5t__order_map), __pyx_t_2); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5t.pyx":785
 *         # Translation function for integer types
 *         return dtype( _order_map[self.get_order()] +
 *                       _sign_map[self.get_sign()] + str(self.get_size()) )             # <<<<<<<<<<<<<<
 * 
 * 
 */
  if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__sign_map) == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_sign); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_4h5py_3h5t__sign_map), __pyx_t_3); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_1get_fields(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_11TypeFloatID_get_fields[] = "() => TUPLE field_info\n\n        Get information about floating-point bit fields.  See the HDF5\n        docs for a full description.  Tuple has the following members:\n\n        0. UINT spos\n        1. UINT epos\n        2. UINT esize\n        3. UINT mpos\n        4. UINT msize\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_1get_fields(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_fields (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_get_fields(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":795
 * 
 * 
 *     def get_fields(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE field_info
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_get_fields(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) {
  size_t __pyx_v_spos;
  size_t __pyx_v_epos;
  size_t __pyx_v_esize;
  size_t __pyx_v_mpos;
  size_t __pyx_v_msize;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_fields", 0);

  /* "h5py/h5t.pyx":808
 *         """
 *         cdef size_t spos, epos, esize, mpos, msize
 *         H5Tget_fields(self.id, &spos, &epos, &esize, &mpos, &msize)             # <<<<<<<<<<<<<<
 *         return (spos, epos, esize, mpos, msize)
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_fields(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_spos), (&__pyx_v_epos), (&__pyx_v_esize), (&__pyx_v_mpos), (&__pyx_v_msize)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":809
 *         cdef size_t spos, epos, esize, mpos, msize
 *         H5Tget_fields(self.id, &spos, &epos, &esize, &mpos, &msize)
 *         return (spos, epos, esize, mpos, msize)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_spos); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_epos); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_esize); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_v_mpos); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_msize); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyTuple_New(5); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_7, 4, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_6);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_t_6 = 0;
  __pyx_r = ((PyObject *)__pyx_t_7);
  __pyx_t_7 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_fields", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_3set_fields(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5t_11TypeFloatID_2set_fields[] = "(UINT spos, UINT epos, UINT esize, UINT mpos, UINT msize)\n\n        Set floating-point bit fields.  Refer to the HDF5 docs for\n        argument definitions.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_3set_fields(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_spos;
  size_t __pyx_v_epos;
  size_t __pyx_v_esize;
  size_t __pyx_v_mpos;
  size_t __pyx_v_msize;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_fields (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__spos,&__pyx_n_s__epos,&__pyx_n_s__esize,&__pyx_n_s__mpos,&__pyx_n_s__msize,0};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__spos)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__epos)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__esize)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mpos)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  4:
        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__msize)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_fields") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
    }
    __pyx_v_spos = __Pyx_PyInt_AsSize_t(values[0]); if (unlikely((__pyx_v_spos == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_epos = __Pyx_PyInt_AsSize_t(values[1]); if (unlikely((__pyx_v_epos == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_esize = __Pyx_PyInt_AsSize_t(values[2]); if (unlikely((__pyx_v_esize == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_mpos = __Pyx_PyInt_AsSize_t(values[3]); if (unlikely((__pyx_v_mpos == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_msize = __Pyx_PyInt_AsSize_t(values[4]); if (unlikely((__pyx_v_msize == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_fields", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_2set_fields(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self), __pyx_v_spos, __pyx_v_epos, __pyx_v_esize, __pyx_v_mpos, __pyx_v_msize);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":812
 * 
 * 
 *     def set_fields(self, size_t spos, size_t epos, size_t esize,             # <<<<<<<<<<<<<<
 *                           size_t mpos, size_t msize):
 *         """(UINT spos, UINT epos, UINT esize, UINT mpos, UINT msize)
 */

static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_2set_fields(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, size_t __pyx_v_spos, size_t __pyx_v_epos, size_t __pyx_v_esize, size_t __pyx_v_mpos, size_t __pyx_v_msize) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_fields", 0);

  /* "h5py/h5t.pyx":819
 *         argument definitions.
 *         """
 *         H5Tset_fields(self.id, spos, epos, esize, mpos, msize)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_fields(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_spos, __pyx_v_epos, __pyx_v_esize, __pyx_v_mpos, __pyx_v_msize); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_fields", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_5get_ebias(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_11TypeFloatID_4get_ebias[] = "() => UINT ebias\n\n        Get the exponent bias.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_5get_ebias(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_ebias (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_4get_ebias(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":822
 * 
 * 
 *     def get_ebias(self):             # <<<<<<<<<<<<<<
 *         """() => UINT ebias
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_4get_ebias(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  size_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_ebias", 0);

  /* "h5py/h5t.pyx":827
 *         Get the exponent bias.
 *         """
 *         return H5Tget_ebias(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_ebias(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_ebias", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_7set_ebias(PyObject *__pyx_v_self, PyObject *__pyx_arg_ebias); /*proto*/
static char __pyx_doc_4h5py_3h5t_11TypeFloatID_6set_ebias[] = "(UINT ebias)\n\n        Set the exponent bias.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_7set_ebias(PyObject *__pyx_v_self, PyObject *__pyx_arg_ebias) {
  size_t __pyx_v_ebias;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_ebias (wrapper)", 0);
  assert(__pyx_arg_ebias); {
    __pyx_v_ebias = __Pyx_PyInt_AsSize_t(__pyx_arg_ebias); if (unlikely((__pyx_v_ebias == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_ebias", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_6set_ebias(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self), ((size_t)__pyx_v_ebias));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":830
 * 
 * 
 *     def set_ebias(self, size_t ebias):             # <<<<<<<<<<<<<<
 *         """(UINT ebias)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_6set_ebias(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, size_t __pyx_v_ebias) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_ebias", 0);

  /* "h5py/h5t.pyx":835
 *         Set the exponent bias.
 *         """
 *         H5Tset_ebias(self.id, ebias)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_ebias(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_ebias); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_ebias", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_9get_norm(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_11TypeFloatID_8get_norm[] = "() => INT normalization_code\n\n        Get the normalization strategy.  Legal values are:\n\n        - NORM_IMPLIED\n        - NORM_MSBSET\n        - NORM_NONE\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_9get_norm(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_norm (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_8get_norm(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":838
 * 
 * 
 *     def get_norm(self):             # <<<<<<<<<<<<<<
 *         """() => INT normalization_code
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_8get_norm(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  H5T_norm_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_norm", 0);

  /* "h5py/h5t.pyx":847
 *         - NORM_NONE
 *         """
 *         return <int>H5Tget_norm(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_norm(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_11set_norm(PyObject *__pyx_v_self, PyObject *__pyx_arg_norm); /*proto*/
static char __pyx_doc_4h5py_3h5t_11TypeFloatID_10set_norm[] = "(INT normalization_code)\n\n        Set the normalization strategy.  Legal values are:\n\n        - NORM_IMPLIED\n        - NORM_MSBSET\n        - NORM_NONE\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_11set_norm(PyObject *__pyx_v_self, PyObject *__pyx_arg_norm) {
  int __pyx_v_norm;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_norm (wrapper)", 0);
  assert(__pyx_arg_norm); {
    __pyx_v_norm = __Pyx_PyInt_AsInt(__pyx_arg_norm); if (unlikely((__pyx_v_norm == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_10set_norm(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self), ((int)__pyx_v_norm));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":850
 * 
 * 
 *     def set_norm(self, int norm):             # <<<<<<<<<<<<<<
 *         """(INT normalization_code)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_10set_norm(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, int __pyx_v_norm) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_norm", 0);

  /* "h5py/h5t.pyx":859
 *         - NORM_NONE
 *         """
 *         H5Tset_norm(self.id, <H5T_norm_t>norm)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_norm(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((H5T_norm_t)__pyx_v_norm)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_13get_inpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_11TypeFloatID_12get_inpad[] = "() => INT pad_code\n\n        Determine the internal padding strategy.  Legal values are:\n\n        - PAD_ZERO\n        - PAD_ONE\n        - PAD_BACKGROUND\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_13get_inpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_inpad (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_12get_inpad(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":862
 * 
 * 
 *     def get_inpad(self):             # <<<<<<<<<<<<<<
 *         """() => INT pad_code
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_12get_inpad(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  H5T_pad_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_inpad", 0);

  /* "h5py/h5t.pyx":871
 *         - PAD_BACKGROUND
 *         """
 *         return <int>H5Tget_inpad(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_inpad(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_inpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_15set_inpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad_code); /*proto*/
static char __pyx_doc_4h5py_3h5t_11TypeFloatID_14set_inpad[] = "(INT pad_code)\n\n        Set the internal padding strategy.  Legal values are:\n\n        - PAD_ZERO\n        - PAD_ONE\n        - PAD_BACKGROUND\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_15set_inpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad_code) {
  int __pyx_v_pad_code;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_inpad (wrapper)", 0);
  assert(__pyx_arg_pad_code); {
    __pyx_v_pad_code = __Pyx_PyInt_AsInt(__pyx_arg_pad_code); if (unlikely((__pyx_v_pad_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_inpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_14set_inpad(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self), ((int)__pyx_v_pad_code));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":874
 * 
 * 
 *     def set_inpad(self, int pad_code):             # <<<<<<<<<<<<<<
 *         """(INT pad_code)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_14set_inpad(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, int __pyx_v_pad_code) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_inpad", 0);

  /* "h5py/h5t.pyx":883
 *         - PAD_BACKGROUND
 *         """
 *         H5Tset_inpad(self.id, <H5T_pad_t>pad_code)             # <<<<<<<<<<<<<<
 * 
 *     cdef object py_dtype(self):
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_inpad(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((H5T_pad_t)__pyx_v_pad_code)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_inpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":885
 *         H5Tset_inpad(self.id, <H5T_pad_t>pad_code)
 * 
 *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
 *         # Translation function for floating-point types
 *         size = self.get_size()                  # int giving number of bytes
 */

static PyObject *__pyx_f_4h5py_3h5t_11TypeFloatID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) {
  PyObject *__pyx_v_size = NULL;
  PyObject *__pyx_v_order = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_dtype", 0);

  /* "h5py/h5t.pyx":887
 *     cdef object py_dtype(self):
 *         # Translation function for floating-point types
 *         size = self.get_size()                  # int giving number of bytes             # <<<<<<<<<<<<<<
 *         order = _order_map[self.get_order()]    # string with '<' or '>'
 * 
 */
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_size = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "h5py/h5t.pyx":888
 *         # Translation function for floating-point types
 *         size = self.get_size()                  # int giving number of bytes
 *         order = _order_map[self.get_order()]    # string with '<' or '>'             # <<<<<<<<<<<<<<
 * 
 *         if size == 2 and not hasattr(np, 'float16'):
 */
  if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__order_map) == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_order); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_4h5py_3h5t__order_map), __pyx_t_1); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_order = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "h5py/h5t.pyx":890
 *         order = _order_map[self.get_order()]    # string with '<' or '>'
 * 
 *         if size == 2 and not hasattr(np, 'float16'):             # <<<<<<<<<<<<<<
 *             # This build doesn't have float16; promote to float32
 *             return dtype(order+"f4")
 */
  __pyx_t_2 = PyObject_RichCompare(__pyx_v_size, __pyx_int_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyObject_HasAttr(__pyx_t_2, ((PyObject *)__pyx_n_s__float16)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_5 = (!__pyx_t_4);
    __pyx_t_4 = __pyx_t_5;
  } else {
    __pyx_t_4 = __pyx_t_3;
  }
  if (__pyx_t_4) {

    /* "h5py/h5t.pyx":892
 *         if size == 2 and not hasattr(np, 'float16'):
 *             # This build doesn't have float16; promote to float32
 *             return dtype(order+"f4")             # <<<<<<<<<<<<<<
 * 
 *         if size > 8:
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyNumber_Add(__pyx_v_order, ((PyObject *)__pyx_n_s__f4)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":894
 *             return dtype(order+"f4")
 * 
 *         if size > 8:             # <<<<<<<<<<<<<<
 *             # The native NumPy longdouble is used for 96 and 128-bit floats
 *             return dtype(order + "f" + str(np.longdouble(1).dtype.itemsize))
 */
  __pyx_t_2 = PyObject_RichCompare(__pyx_v_size, __pyx_int_8, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_4) {

    /* "h5py/h5t.pyx":896
 *         if size > 8:
 *             # The native NumPy longdouble is used for 96 and 128-bit floats
 *             return dtype(order + "f" + str(np.longdouble(1).dtype.itemsize))             # <<<<<<<<<<<<<<
 * 
 *         return dtype( _order_map[self.get_order()] + "f" + \
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyNumber_Add(__pyx_v_order, ((PyObject *)__pyx_n_s__f)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__longdouble); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_k_tuple_12), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__dtype); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__itemsize); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_1);
    __pyx_t_1 = 0;
    __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
    __pyx_t_6 = PyNumber_Add(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;
    goto __pyx_L4;
  }
  __pyx_L4:;

  /* "h5py/h5t.pyx":898
 *             return dtype(order + "f" + str(np.longdouble(1).dtype.itemsize))
 * 
 *         return dtype( _order_map[self.get_order()] + "f" + \             # <<<<<<<<<<<<<<
 *                       str(self.get_size()) )
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__order_map) == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_order); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_4h5py_3h5t__order_map), __pyx_t_1); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_t_6, ((PyObject *)__pyx_n_s__f)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "h5py/h5t.pyx":899
 * 
 *         return dtype( _order_map[self.get_order()] + "f" + \
 *                       str(self.get_size()) )             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_size); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_2 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
  __pyx_t_6 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_size);
  __Pyx_XDECREF(__pyx_v_order);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_1get_nmembers(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_15TypeCompositeID_get_nmembers[] = "() => INT number_of_members\n\n        Determine the number of members in a compound or enumerated type.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_1get_nmembers(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_nmembers (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_15TypeCompositeID_get_nmembers(((struct __pyx_obj_4h5py_3h5t_TypeCompositeID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":911
 * 
 * 
 *     def get_nmembers(self):             # <<<<<<<<<<<<<<
 *         """() => INT number_of_members
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_get_nmembers(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_nmembers", 0);

  /* "h5py/h5t.pyx":916
 *         Determine the number of members in a compound or enumerated type.
 *         """
 *         return H5Tget_nmembers(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_nmembers(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_nmembers", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_3get_member_name(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/
static char __pyx_doc_4h5py_3h5t_15TypeCompositeID_2get_member_name[] = "(INT member) => STRING name\n        \n        Determine the name of a member of a compound or enumerated type,\n        identified by its index (0 <= member < nmembers).\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_3get_member_name(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) {
  int __pyx_v_member;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_member_name (wrapper)", 0);
  assert(__pyx_arg_member); {
    __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_15TypeCompositeID_2get_member_name(((struct __pyx_obj_4h5py_3h5t_TypeCompositeID *)__pyx_v_self), ((int)__pyx_v_member));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":919
 * 
 * 
 *     def get_member_name(self, int member):             # <<<<<<<<<<<<<<
 *         """(INT member) => STRING name
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_2get_member_name(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self, int __pyx_v_member) {
  char *__pyx_v_name;
  PyObject *__pyx_v_pyname = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  char *__pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_member_name", 0);

  /* "h5py/h5t.pyx":926
 *         """
 *         cdef char* name
 *         name = NULL             # <<<<<<<<<<<<<<
 * 
 *         if member < 0:
 */
  __pyx_v_name = NULL;

  /* "h5py/h5t.pyx":928
 *         name = NULL
 * 
 *         if member < 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Member index must be non-negative.")
 * 
 */
  __pyx_t_1 = (__pyx_v_member < 0);
  if (__pyx_t_1) {

    /* "h5py/h5t.pyx":929
 * 
 *         if member < 0:
 *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
 * 
 *         try:
 */
    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_14), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":931
 *             raise ValueError("Member index must be non-negative.")
 * 
 *         try:             # <<<<<<<<<<<<<<
 *             name = H5Tget_member_name(self.id, member)
 *             assert name != NULL
 */
  /*try:*/ {

    /* "h5py/h5t.pyx":932
 * 
 *         try:
 *             name = H5Tget_member_name(self.id, member)             # <<<<<<<<<<<<<<
 *             assert name != NULL
 *             pyname = <bytes>name
 */
    __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_name(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L5;}
    __pyx_v_name = __pyx_t_3;

    /* "h5py/h5t.pyx":933
 *         try:
 *             name = H5Tget_member_name(self.id, member)
 *             assert name != NULL             # <<<<<<<<<<<<<<
 *             pyname = <bytes>name
 *         finally:
 */
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(!(__pyx_v_name != NULL))) {
      PyErr_SetNone(PyExc_AssertionError);
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L5;}
    }
    #endif

    /* "h5py/h5t.pyx":934
 *             name = H5Tget_member_name(self.id, member)
 *             assert name != NULL
 *             pyname = <bytes>name             # <<<<<<<<<<<<<<
 *         finally:
 *             free(name)
 */
    __pyx_t_2 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L5;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_2));
    __Pyx_INCREF(((PyObject*)__pyx_t_2));
    __pyx_v_pyname = ((PyObject*)__pyx_t_2);
    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
  }

  /* "h5py/h5t.pyx":936
 *             pyname = <bytes>name
 *         finally:
 *             free(name)             # <<<<<<<<<<<<<<
 * 
 *         return pyname
 */
  /*finally:*/ {
    int __pyx_why;
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
    int __pyx_exc_lineno;
    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
    __pyx_why = 0; goto __pyx_L6;
    __pyx_L5: {
      __pyx_why = 4;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
      __pyx_exc_lineno = __pyx_lineno;
      goto __pyx_L6;
    }
    __pyx_L6:;
    free(__pyx_v_name);
    switch (__pyx_why) {
      case 4: {
        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
        __pyx_lineno = __pyx_exc_lineno;
        __pyx_exc_type = 0;
        __pyx_exc_value = 0;
        __pyx_exc_tb = 0;
        goto __pyx_L1_error;
      }
    }
  }

  /* "h5py/h5t.pyx":938
 *             free(name)
 * 
 *         return pyname             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_pyname));
  __pyx_r = ((PyObject *)__pyx_v_pyname);
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pyname);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_5get_member_index(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/
static char __pyx_doc_4h5py_3h5t_15TypeCompositeID_4get_member_index[] = "(STRING name) => INT index\n\n        Determine the index of a member of a compound or enumerated datatype\n        identified by a string name.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_5get_member_index(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
  char *__pyx_v_name;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_member_index (wrapper)", 0);
  assert(__pyx_arg_name); {
    __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_15TypeCompositeID_4get_member_index(((struct __pyx_obj_4h5py_3h5t_TypeCompositeID *)__pyx_v_self), ((char *)__pyx_v_name));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":941
 * 
 * 
 *     def get_member_index(self, char* name):             # <<<<<<<<<<<<<<
 *         """(STRING name) => INT index
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_4get_member_index(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self, char *__pyx_v_name) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_member_index", 0);

  /* "h5py/h5t.pyx":947
 *         identified by a string name.
 *         """
 *         return H5Tget_member_index(self.id, name)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_member_index(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_1get_member_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/
static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_get_member_class[] = "(INT member) => INT class\n\n        Determine the datatype class of the member of a compound type,\n        identified by its index (0 <= member < nmembers).\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_1get_member_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) {
  int __pyx_v_member;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_member_class (wrapper)", 0);
  assert(__pyx_arg_member); {
    __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_get_member_class(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self), ((int)__pyx_v_member));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":958
 * 
 * 
 *     def get_member_class(self, int member):             # <<<<<<<<<<<<<<
 *         """(INT member) => INT class
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_get_member_class(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  enum H5T_class_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_member_class", 0);

  /* "h5py/h5t.pyx":964
 *         identified by its index (0 <= member < nmembers).
 *         """
 *         if member < 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Member index must be non-negative.")
 *         return H5Tget_member_class(self.id, member)
 */
  __pyx_t_1 = (__pyx_v_member < 0);
  if (__pyx_t_1) {

    /* "h5py/h5t.pyx":965
 *         """
 *         if member < 0:
 *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
 *         return H5Tget_member_class(self.id, member)
 * 
 */
    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_15), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":966
 *         if member < 0:
 *             raise ValueError("Member index must be non-negative.")
 *         return H5Tget_member_class(self.id, member)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_class(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_3get_member_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/
static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_2get_member_offset[] = "(INT member) => INT offset\n\n        Determine the offset, in bytes, of the beginning of the specified\n        member of a compound datatype.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_3get_member_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) {
  int __pyx_v_member;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_member_offset (wrapper)", 0);
  assert(__pyx_arg_member); {
    __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_2get_member_offset(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self), ((int)__pyx_v_member));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":970
 * 
 * 
 *     def get_member_offset(self, int member):             # <<<<<<<<<<<<<<
 *         """(INT member) => INT offset
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_2get_member_offset(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_member_offset", 0);

  /* "h5py/h5t.pyx":976
 *         member of a compound datatype.
 *         """
 *         if member < 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Member index must be non-negative.")
 *         return H5Tget_member_offset(self.id, member)
 */
  __pyx_t_1 = (__pyx_v_member < 0);
  if (__pyx_t_1) {

    /* "h5py/h5t.pyx":977
 *         """
 *         if member < 0:
 *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
 *         return H5Tget_member_offset(self.id, member)
 * 
 */
    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_16), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":978
 *         if member < 0:
 *             raise ValueError("Member index must be non-negative.")
 *         return H5Tget_member_offset(self.id, member)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_offset(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_5get_member_type(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/
static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_4get_member_type[] = "(INT member) => TypeID\n\n        Create a copy of a member of a compound datatype, identified by its\n        index.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_5get_member_type(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) {
  int __pyx_v_member;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_member_type (wrapper)", 0);
  assert(__pyx_arg_member); {
    __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_4get_member_type(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self), ((int)__pyx_v_member));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":981
 * 
 * 
 *     def get_member_type(self, int member):             # <<<<<<<<<<<<<<
 *         """(INT member) => TypeID
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_4get_member_type(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  hid_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_member_type", 0);

  /* "h5py/h5t.pyx":987
 *         index.
 *         """
 *         if member < 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Member index must be non-negative.")
 *         return typewrap(H5Tget_member_type(self.id, member))
 */
  __pyx_t_1 = (__pyx_v_member < 0);
  if (__pyx_t_1) {

    /* "h5py/h5t.pyx":988
 *         """
 *         if member < 0:
 *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
 *         return typewrap(H5Tget_member_type(self.id, member))
 * 
 */
    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_17), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":989
 *         if member < 0:
 *             raise ValueError("Member index must be non-negative.")
 *         return typewrap(H5Tget_member_type(self.id, member))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_type(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 989; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_3, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 989; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_7insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_6insert[] = "(STRING name, UINT offset, TypeID field)\n\n        Add a named member datatype to a compound datatype.  The parameter\n        offset indicates the offset from the start of the compound datatype,\n        in bytes.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_7insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char *__pyx_v_name;
  size_t __pyx_v_offset;
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_field = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("insert (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__offset,&__pyx_n_s__field,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__offset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("insert", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__field)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("insert", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "insert") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_offset = __Pyx_PyInt_AsSize_t(values[1]); if (unlikely((__pyx_v_offset == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_field = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("insert", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.insert", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_field), __pyx_ptype_4h5py_3h5t_TypeID, 0, "field", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_6insert(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self), __pyx_v_name, __pyx_v_offset, __pyx_v_field);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":992
 * 
 * 
 *     def insert(self, char* name, size_t offset, TypeID field not None):             # <<<<<<<<<<<<<<
 *         """(STRING name, UINT offset, TypeID field)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_6insert(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, char *__pyx_v_name, size_t __pyx_v_offset, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_field) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("insert", 0);

  /* "h5py/h5t.pyx":999
 *         in bytes.
 *         """
 *         H5Tinsert(self.id, name, offset, field.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tinsert(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_name, __pyx_v_offset, __pyx_v_field->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.insert", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_9pack(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_8pack[] = "()\n\n        Recursively removes padding (introduced on account of e.g. compiler\n        alignment rules) from a compound datatype.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_9pack(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pack (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_8pack(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1002
 * 
 * 
 *     def pack(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_8pack(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("pack", 0);

  /* "h5py/h5t.pyx":1008
 *         alignment rules) from a compound datatype.
 *         """
 *         H5Tpack(self.id)             # <<<<<<<<<<<<<<
 * 
 *     cdef object py_dtype(self):
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tpack(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.pack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1010
 *         H5Tpack(self.id)
 * 
 *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
 * 
 *         cdef TypeID tmp_type
 */

static PyObject *__pyx_f_4h5py_3h5t_14TypeCompoundID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self) {
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tmp_type = 0;
  PyObject *__pyx_v_field_names = 0;
  PyObject *__pyx_v_field_types = 0;
  int __pyx_v_nfields;
  long __pyx_v_i;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_bstring = NULL;
  PyObject *__pyx_v_blen = NULL;
  PyObject *__pyx_v_nstring = NULL;
  PyArray_Descr *__pyx_v_typeobj = NULL;
  PyObject *__pyx_v_x = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_t_10;
  int __pyx_t_11;
  int __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_dtype", 0);

  /* "h5py/h5t.pyx":1016
 *         cdef list field_types
 *         cdef int nfields
 *         field_names = []             # <<<<<<<<<<<<<<
 *         field_types = []
 *         nfields = self.get_nmembers()
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_field_names = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":1017
 *         cdef int nfields
 *         field_names = []
 *         field_types = []             # <<<<<<<<<<<<<<
 *         nfields = self.get_nmembers()
 * 
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_field_types = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":1018
 *         field_names = []
 *         field_types = []
 *         nfields = self.get_nmembers()             # <<<<<<<<<<<<<<
 * 
 *         # First step: read field names and their Numpy dtypes into
 */
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_nmembers); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __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 = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_nfields = __pyx_t_3;

  /* "h5py/h5t.pyx":1022
 *         # First step: read field names and their Numpy dtypes into
 *         # two separate arrays.
 *         for i from 0 <= i < nfields:             # <<<<<<<<<<<<<<
 *             tmp_type = self.get_member_type(i)
 *             name = self.get_member_name(i)
 */
  __pyx_t_3 = __pyx_v_nfields;
  for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) {

    /* "h5py/h5t.pyx":1023
 *         # two separate arrays.
 *         for i from 0 <= i < nfields:
 *             tmp_type = self.get_member_type(i)             # <<<<<<<<<<<<<<
 *             name = self.get_member_name(i)
 *             field_names.append(name)
 */
    __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_member_type); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = PyInt_FromLong(__pyx_v_i); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_1);
    __pyx_t_1 = 0;
    __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
    if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_XDECREF(((PyObject *)__pyx_v_tmp_type));
    __pyx_v_tmp_type = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "h5py/h5t.pyx":1024
 *         for i from 0 <= i < nfields:
 *             tmp_type = self.get_member_type(i)
 *             name = self.get_member_name(i)             # <<<<<<<<<<<<<<
 *             field_names.append(name)
 *             field_types.append(tmp_type.py_dtype())
 */
    __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_member_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = PyInt_FromLong(__pyx_v_i); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_4 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_v_name);
    __pyx_v_name = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "h5py/h5t.pyx":1025
 *             tmp_type = self.get_member_type(i)
 *             name = self.get_member_name(i)
 *             field_names.append(name)             # <<<<<<<<<<<<<<
 *             field_types.append(tmp_type.py_dtype())
 * 
 */
    __pyx_t_5 = PyList_Append(__pyx_v_field_names, __pyx_v_name); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

    /* "h5py/h5t.pyx":1026
 *             name = self.get_member_name(i)
 *             field_names.append(name)
 *             field_types.append(tmp_type.py_dtype())             # <<<<<<<<<<<<<<
 * 
 * 
 */
    __pyx_t_4 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_tmp_type->__pyx_vtab)->py_dtype(__pyx_v_tmp_type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyList_Append(__pyx_v_field_types, __pyx_t_4); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }

  /* "h5py/h5t.pyx":1030
 * 
 *         # 1. Check if it should be converted to a complex number
 *         if len(field_names) == 2                                and \             # <<<<<<<<<<<<<<
 *             tuple(field_names) == (cfg._r_name, cfg._i_name)    and \
 *             field_types[0] == field_types[1]                    and \
 */
  __pyx_t_6 = PyList_GET_SIZE(((PyObject *)__pyx_v_field_names)); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_7 = (__pyx_t_6 == 2);
  if (__pyx_t_7) {

    /* "h5py/h5t.pyx":1031
 *         # 1. Check if it should be converted to a complex number
 *         if len(field_names) == 2                                and \
 *             tuple(field_names) == (cfg._r_name, cfg._i_name)    and \             # <<<<<<<<<<<<<<
 *             field_types[0] == field_types[1]                    and \
 *             field_types[0].kind == 'f':
 */
    __pyx_t_4 = ((PyObject *)PyList_AsTuple(__pyx_v_field_names)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s___r_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s___i_name); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8);
    __Pyx_GIVEREF(__pyx_t_8);
    __pyx_t_1 = 0;
    __pyx_t_8 = 0;
    __pyx_t_8 = PyObject_RichCompare(((PyObject *)__pyx_t_4), ((PyObject *)__pyx_t_2), Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (__pyx_t_9) {

      /* "h5py/h5t.pyx":1032
 *         if len(field_names) == 2                                and \
 *             tuple(field_names) == (cfg._r_name, cfg._i_name)    and \
 *             field_types[0] == field_types[1]                    and \             # <<<<<<<<<<<<<<
 *             field_types[0].kind == 'f':
 * 
 */
      __pyx_t_8 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_field_types), 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_2 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_field_types), 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_8, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_10) {

        /* "h5py/h5t.pyx":1033
 *             tuple(field_names) == (cfg._r_name, cfg._i_name)    and \
 *             field_types[0] == field_types[1]                    and \
 *             field_types[0].kind == 'f':             # <<<<<<<<<<<<<<
 * 
 *             bstring = field_types[0].str
 */
        __pyx_t_4 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_field_types), 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_2 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__kind); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, ((PyObject *)__pyx_n_s__f), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_12 = __pyx_t_11;
      } else {
        __pyx_t_12 = __pyx_t_10;
      }
      __pyx_t_10 = __pyx_t_12;
    } else {
      __pyx_t_10 = __pyx_t_9;
    }
    __pyx_t_9 = __pyx_t_10;
  } else {
    __pyx_t_9 = __pyx_t_7;
  }
  if (__pyx_t_9) {

    /* "h5py/h5t.pyx":1035
 *             field_types[0].kind == 'f':
 * 
 *             bstring = field_types[0].str             # <<<<<<<<<<<<<<
 *             blen = int(bstring[2:])
 *             nstring = bstring[0] + "c" + str(2*blen)
 */
    __pyx_t_4 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_field_types), 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__str); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_bstring = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "h5py/h5t.pyx":1036
 * 
 *             bstring = field_types[0].str
 *             blen = int(bstring[2:])             # <<<<<<<<<<<<<<
 *             nstring = bstring[0] + "c" + str(2*blen)
 *             typeobj = dtype(nstring)
 */
    __pyx_t_2 = __Pyx_PySequence_GetSlice(__pyx_v_bstring, 2, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
    __pyx_v_blen = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "h5py/h5t.pyx":1037
 *             bstring = field_types[0].str
 *             blen = int(bstring[2:])
 *             nstring = bstring[0] + "c" + str(2*blen)             # <<<<<<<<<<<<<<
 *             typeobj = dtype(nstring)
 * 
 */
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_bstring, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyNumber_Add(__pyx_t_2, ((PyObject *)__pyx_n_s__c)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Multiply(__pyx_int_2, __pyx_v_blen); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_8);
    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
    __pyx_t_8 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_nstring = __pyx_t_8;
    __pyx_t_8 = 0;

    /* "h5py/h5t.pyx":1038
 *             blen = int(bstring[2:])
 *             nstring = bstring[0] + "c" + str(2*blen)
 *             typeobj = dtype(nstring)             # <<<<<<<<<<<<<<
 * 
 *         # 2. Otherwise, read all fields of the compound type, in HDF5 order.
 */
    __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_INCREF(__pyx_v_nstring);
    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_nstring);
    __Pyx_GIVEREF(__pyx_v_nstring);
    __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
    __pyx_v_typeobj = ((PyArray_Descr *)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L5;
  }
  /*else*/ {

    /* "h5py/h5t.pyx":1042
 *         # 2. Otherwise, read all fields of the compound type, in HDF5 order.
 *         else:
 *             if sys.version[0] == '3':             # <<<<<<<<<<<<<<
 *                 field_names = [x.decode('utf8') for x in field_names]
 *             typeobj = dtype(list(zip(field_names, field_types)))
 */
    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__sys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__version); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_8, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyObject_RichCompare(__pyx_t_2, ((PyObject *)__pyx_kp_s__3), Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (__pyx_t_9) {

      /* "h5py/h5t.pyx":1043
 *         else:
 *             if sys.version[0] == '3':
 *                 field_names = [x.decode('utf8') for x in field_names]             # <<<<<<<<<<<<<<
 *             typeobj = dtype(list(zip(field_names, field_types)))
 * 
 */
      __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_2 = ((PyObject *)__pyx_v_field_names); __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
      for (;;) {
        if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_COMPILING_IN_CPYTHON
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        #endif
        __Pyx_XDECREF(__pyx_v_x);
        __pyx_v_x = __pyx_t_4;
        __pyx_t_4 = 0;
        __pyx_t_4 = PyObject_GetAttr(__pyx_v_x, __pyx_n_s__decode); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_1 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_k_tuple_18), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_PyList_Append(__pyx_t_8, (PyObject*)__pyx_t_1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = ((PyObject *)__pyx_t_8);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
      __Pyx_DECREF(((PyObject *)__pyx_v_field_names));
      __pyx_v_field_names = ((PyObject*)__pyx_t_2);
      __pyx_t_2 = 0;
      goto __pyx_L6;
    }
    __pyx_L6:;

    /* "h5py/h5t.pyx":1044
 *             if sys.version[0] == '3':
 *                 field_names = [x.decode('utf8') for x in field_names]
 *             typeobj = dtype(list(zip(field_names, field_types)))             # <<<<<<<<<<<<<<
 * 
 *         return typeobj
 */
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(((PyObject *)__pyx_v_field_names));
    PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_field_names));
    __Pyx_GIVEREF(((PyObject *)__pyx_v_field_names));
    __Pyx_INCREF(((PyObject *)__pyx_v_field_types));
    PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_field_types));
    __Pyx_GIVEREF(((PyObject *)__pyx_v_field_types));
    __pyx_t_8 = PyObject_Call(__pyx_builtin_zip, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8);
    __Pyx_GIVEREF(__pyx_t_8);
    __pyx_t_8 = 0;
    __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)(&PyList_Type))), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8);
    __Pyx_GIVEREF(__pyx_t_8);
    __pyx_t_8 = 0;
    __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
    __pyx_v_typeobj = ((PyArray_Descr *)__pyx_t_8);
    __pyx_t_8 = 0;
  }
  __pyx_L5:;

  /* "h5py/h5t.pyx":1046
 *             typeobj = dtype(list(zip(field_names, field_types)))
 * 
 *         return typeobj             # <<<<<<<<<<<<<<
 * 
 * cdef class TypeEnumID(TypeCompositeID):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_typeobj));
  __pyx_r = ((PyObject *)__pyx_v_typeobj);
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_tmp_type);
  __Pyx_XDECREF(__pyx_v_field_names);
  __Pyx_XDECREF(__pyx_v_field_types);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_bstring);
  __Pyx_XDECREF(__pyx_v_blen);
  __Pyx_XDECREF(__pyx_v_nstring);
  __Pyx_XDECREF((PyObject *)__pyx_v_typeobj);
  __Pyx_XDECREF(__pyx_v_x);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1054
 *     """
 * 
 *     cdef int enum_convert(self, long long *buf, int reverse) except -1:             # <<<<<<<<<<<<<<
 *         # Convert the long long value in "buf" to the native representation
 *         # of this (enumerated) type.  Conversion performed in-place.
 */

static int __pyx_f_4h5py_3h5t_10TypeEnumID_enum_convert(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, PY_LONG_LONG *__pyx_v_buf, int __pyx_v_reverse) {
  hid_t __pyx_v_basetype;
  enum H5T_class_t __pyx_v_class_code;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  enum H5T_class_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  hid_t __pyx_t_5;
  herr_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("enum_convert", 0);

  /* "h5py/h5t.pyx":1062
 *         cdef H5T_class_t class_code
 * 
 *         class_code = H5Tget_class(self.id)             # <<<<<<<<<<<<<<
 *         if class_code != H5T_ENUM:
 *             raise ValueError("This type (class %d) is not of class ENUM" % class_code)
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_class(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_class_code = __pyx_t_1;

  /* "h5py/h5t.pyx":1063
 * 
 *         class_code = H5Tget_class(self.id)
 *         if class_code != H5T_ENUM:             # <<<<<<<<<<<<<<
 *             raise ValueError("This type (class %d) is not of class ENUM" % class_code)
 * 
 */
  __pyx_t_2 = (__pyx_v_class_code != H5T_ENUM);
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":1064
 *         class_code = H5Tget_class(self.id)
 *         if class_code != H5T_ENUM:
 *             raise ValueError("This type (class %d) is not of class ENUM" % class_code)             # <<<<<<<<<<<<<<
 * 
 *         basetype = H5Tget_super(self.id)
 */
    __pyx_t_3 = PyInt_FromLong(__pyx_v_class_code); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_19), __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
    __pyx_t_4 = 0;
    __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":1066
 *             raise ValueError("This type (class %d) is not of class ENUM" % class_code)
 * 
 *         basetype = H5Tget_super(self.id)             # <<<<<<<<<<<<<<
 *         assert basetype > 0
 * 
 */
  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tget_super(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_basetype = __pyx_t_5;

  /* "h5py/h5t.pyx":1067
 * 
 *         basetype = H5Tget_super(self.id)
 *         assert basetype > 0             # <<<<<<<<<<<<<<
 * 
 *         try:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!(__pyx_v_basetype > 0))) {
    PyErr_SetNone(PyExc_AssertionError);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  #endif

  /* "h5py/h5t.pyx":1069
 *         assert basetype > 0
 * 
 *         try:             # <<<<<<<<<<<<<<
 *             if not reverse:
 *                 H5Tconvert(H5T_NATIVE_LLONG, basetype, 1, buf, NULL, H5P_DEFAULT)
 */
  /*try:*/ {

    /* "h5py/h5t.pyx":1070
 * 
 *         try:
 *             if not reverse:             # <<<<<<<<<<<<<<
 *                 H5Tconvert(H5T_NATIVE_LLONG, basetype, 1, buf, NULL, H5P_DEFAULT)
 *             else:
 */
    __pyx_t_2 = (!__pyx_v_reverse);
    if (__pyx_t_2) {

      /* "h5py/h5t.pyx":1071
 *         try:
 *             if not reverse:
 *                 H5Tconvert(H5T_NATIVE_LLONG, basetype, 1, buf, NULL, H5P_DEFAULT)             # <<<<<<<<<<<<<<
 *             else:
 *                 H5Tconvert(basetype, H5T_NATIVE_LLONG, 1, buf, NULL, H5P_DEFAULT)
 */
      __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tconvert(H5T_NATIVE_LLONG, __pyx_v_basetype, 1, __pyx_v_buf, NULL, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L5;}
      goto __pyx_L7;
    }
    /*else*/ {

      /* "h5py/h5t.pyx":1073
 *                 H5Tconvert(H5T_NATIVE_LLONG, basetype, 1, buf, NULL, H5P_DEFAULT)
 *             else:
 *                 H5Tconvert(basetype, H5T_NATIVE_LLONG, 1, buf, NULL, H5P_DEFAULT)             # <<<<<<<<<<<<<<
 *         finally:
 *             H5Tclose(basetype)
 */
      __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tconvert(__pyx_v_basetype, H5T_NATIVE_LLONG, 1, __pyx_v_buf, NULL, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L5;}
    }
    __pyx_L7:;
  }

  /* "h5py/h5t.pyx":1075
 *                 H5Tconvert(basetype, H5T_NATIVE_LLONG, 1, buf, NULL, H5P_DEFAULT)
 *         finally:
 *             H5Tclose(basetype)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*finally:*/ {
    int __pyx_why;
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
    int __pyx_exc_lineno;
    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
    __pyx_why = 0; goto __pyx_L6;
    __pyx_L5: {
      __pyx_why = 4;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
      __pyx_exc_lineno = __pyx_lineno;
      goto __pyx_L6;
    }
    __pyx_L6:;
    __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tclose(__pyx_v_basetype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
    goto __pyx_L9;
    __pyx_L8_error:;
    if (__pyx_why == 4) {
      Py_XDECREF(__pyx_exc_type);
      Py_XDECREF(__pyx_exc_value);
      Py_XDECREF(__pyx_exc_tb);
    }
    goto __pyx_L1_error;
    __pyx_L9:;
    switch (__pyx_why) {
      case 4: {
        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
        __pyx_lineno = __pyx_exc_lineno;
        __pyx_exc_type = 0;
        __pyx_exc_value = 0;
        __pyx_exc_tb = 0;
        goto __pyx_L1_error;
      }
    }
  }

  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_convert", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_1enum_insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5t_10TypeEnumID_enum_insert[] = "(STRING name, INT/LONG value)\n\n        Define a new member of an enumerated type.  The value will be\n        automatically converted to the base type defined for this enum.  If\n        the conversion results in overflow, the value will be silently \n        clipped.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_1enum_insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char *__pyx_v_name;
  PY_LONG_LONG __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("enum_insert (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__value,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("enum_insert", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "enum_insert") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_value = __Pyx_PyInt_AsLongLong(values[1]); if (unlikely((__pyx_v_value == (PY_LONG_LONG)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("enum_insert", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_insert", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_10TypeEnumID_enum_insert(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), __pyx_v_name, __pyx_v_value);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1078
 * 
 * 
 *     def enum_insert(self, char* name, long long value):             # <<<<<<<<<<<<<<
 *         """(STRING name, INT/LONG value)
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_enum_insert(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, char *__pyx_v_name, PY_LONG_LONG __pyx_v_value) {
  PY_LONG_LONG __pyx_v_buf;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  herr_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("enum_insert", 0);

  /* "h5py/h5t.pyx":1088
 *         cdef long long buf
 * 
 *         buf = value             # <<<<<<<<<<<<<<
 *         self.enum_convert(&buf, 0)
 *         H5Tenum_insert(self.id, name, &buf)
 */
  __pyx_v_buf = __pyx_v_value;

  /* "h5py/h5t.pyx":1089
 * 
 *         buf = value
 *         self.enum_convert(&buf, 0)             # <<<<<<<<<<<<<<
 *         H5Tenum_insert(self.id, name, &buf)
 * 
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(__pyx_v_self, (&__pyx_v_buf), 0); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1090
 *         buf = value
 *         self.enum_convert(&buf, 0)
 *         H5Tenum_insert(self.id, name, &buf)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tenum_insert(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_name, (&__pyx_v_buf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_insert", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_3enum_nameof(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static char __pyx_doc_4h5py_3h5t_10TypeEnumID_2enum_nameof[] = "(LONG value) => STRING name\n\n        Determine the name associated with the given value.  Due to a\n        limitation of the HDF5 library, this can only retrieve names up to\n        1023 characters in length.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_3enum_nameof(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  PY_LONG_LONG __pyx_v_value;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("enum_nameof (wrapper)", 0);
  assert(__pyx_arg_value); {
    __pyx_v_value = __Pyx_PyInt_AsLongLong(__pyx_arg_value); if (unlikely((__pyx_v_value == (PY_LONG_LONG)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_nameof", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_10TypeEnumID_2enum_nameof(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), ((PY_LONG_LONG)__pyx_v_value));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1093
 * 
 * 
 *     def enum_nameof(self, long long value):             # <<<<<<<<<<<<<<
 *         """(LONG value) => STRING name
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_2enum_nameof(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, PY_LONG_LONG __pyx_v_value) {
  herr_t __pyx_v_retval;
  char __pyx_v_name[1024];
  PY_LONG_LONG __pyx_v_buf;
  PyObject *__pyx_v_retstring = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  herr_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("enum_nameof", 0);

  /* "h5py/h5t.pyx":1104
 *         cdef long long buf
 * 
 *         buf = value             # <<<<<<<<<<<<<<
 *         self.enum_convert(&buf, 0)
 *         retval = H5Tenum_nameof(self.id, &buf, name, 1024)
 */
  __pyx_v_buf = __pyx_v_value;

  /* "h5py/h5t.pyx":1105
 * 
 *         buf = value
 *         self.enum_convert(&buf, 0)             # <<<<<<<<<<<<<<
 *         retval = H5Tenum_nameof(self.id, &buf, name, 1024)
 *         assert retval >= 0
 */
  __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(__pyx_v_self, (&__pyx_v_buf), 0); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1106
 *         buf = value
 *         self.enum_convert(&buf, 0)
 *         retval = H5Tenum_nameof(self.id, &buf, name, 1024)             # <<<<<<<<<<<<<<
 *         assert retval >= 0
 *         retstring = name
 */
  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tenum_nameof(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_buf), __pyx_v_name, 1024); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_retval = __pyx_t_2;

  /* "h5py/h5t.pyx":1107
 *         self.enum_convert(&buf, 0)
 *         retval = H5Tenum_nameof(self.id, &buf, name, 1024)
 *         assert retval >= 0             # <<<<<<<<<<<<<<
 *         retstring = name
 *         return retstring
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!(__pyx_v_retval >= 0))) {
    PyErr_SetNone(PyExc_AssertionError);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  #endif

  /* "h5py/h5t.pyx":1108
 *         retval = H5Tenum_nameof(self.id, &buf, name, 1024)
 *         assert retval >= 0
 *         retstring = name             # <<<<<<<<<<<<<<
 *         return retstring
 * 
 */
  __pyx_t_3 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
  __pyx_v_retstring = ((PyObject *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "h5py/h5t.pyx":1109
 *         assert retval >= 0
 *         retstring = name
 *         return retstring             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_retstring);
  __pyx_r = __pyx_v_retstring;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_nameof", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_retstring);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_5enum_valueof(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/
static char __pyx_doc_4h5py_3h5t_10TypeEnumID_4enum_valueof[] = "(STRING name) => LONG value\n\n        Get the value associated with an enum name.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_5enum_valueof(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
  char *__pyx_v_name;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("enum_valueof (wrapper)", 0);
  assert(__pyx_arg_name); {
    __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_valueof", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_10TypeEnumID_4enum_valueof(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), ((char *)__pyx_v_name));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1112
 * 
 * 
 *     def enum_valueof(self, char* name):             # <<<<<<<<<<<<<<
 *         """(STRING name) => LONG value
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_4enum_valueof(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, char *__pyx_v_name) {
  PY_LONG_LONG __pyx_v_buf;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("enum_valueof", 0);

  /* "h5py/h5t.pyx":1119
 *         cdef long long buf
 * 
 *         H5Tenum_valueof(self.id, name, &buf)             # <<<<<<<<<<<<<<
 *         self.enum_convert(&buf, 1)
 *         return buf
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tenum_valueof(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_name, (&__pyx_v_buf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1120
 * 
 *         H5Tenum_valueof(self.id, name, &buf)
 *         self.enum_convert(&buf, 1)             # <<<<<<<<<<<<<<
 *         return buf
 * 
 */
  __pyx_t_2 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(__pyx_v_self, (&__pyx_v_buf), 1); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1121
 *         H5Tenum_valueof(self.id, name, &buf)
 *         self.enum_convert(&buf, 1)
 *         return buf             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = PyLong_FromLongLong(__pyx_v_buf); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_valueof", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_7get_member_value(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx); /*proto*/
static char __pyx_doc_4h5py_3h5t_10TypeEnumID_6get_member_value[] = "(UINT index) => LONG value\n\n        Determine the value for the member at the given zero-based index.\n        ";
static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_7get_member_value(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx) {
  int __pyx_v_idx;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_member_value (wrapper)", 0);
  assert(__pyx_arg_idx); {
    __pyx_v_idx = __Pyx_PyInt_AsInt(__pyx_arg_idx); if (unlikely((__pyx_v_idx == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1124; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.get_member_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_10TypeEnumID_6get_member_value(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), ((int)__pyx_v_idx));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1124
 * 
 * 
 *     def get_member_value(self, int idx):             # <<<<<<<<<<<<<<
 *         """(UINT index) => LONG value
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_6get_member_value(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, int __pyx_v_idx) {
  CYTHON_UNUSED hid_t __pyx_v_ptype;
  PY_LONG_LONG __pyx_v_val;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  herr_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_member_value", 0);

  /* "h5py/h5t.pyx":1132
 *         cdef hid_t ptype
 *         cdef long long val
 *         ptype = 0             # <<<<<<<<<<<<<<
 * 
 *         if idx < 0:
 */
  __pyx_v_ptype = 0;

  /* "h5py/h5t.pyx":1134
 *         ptype = 0
 * 
 *         if idx < 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Index must be non-negative.")
 * 
 */
  __pyx_t_1 = (__pyx_v_idx < 0);
  if (__pyx_t_1) {

    /* "h5py/h5t.pyx":1135
 * 
 *         if idx < 0:
 *             raise ValueError("Index must be non-negative.")             # <<<<<<<<<<<<<<
 * 
 *         H5Tget_member_value(self.id, idx, &val)
 */
    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_21), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":1137
 *             raise ValueError("Index must be non-negative.")
 * 
 *         H5Tget_member_value(self.id, idx, &val)             # <<<<<<<<<<<<<<
 *         self.enum_convert(&val, 1)
 *         return val
 */
  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_value(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_idx, (&__pyx_v_val)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1138
 * 
 *         H5Tget_member_value(self.id, idx, &val)
 *         self.enum_convert(&val, 1)             # <<<<<<<<<<<<<<
 *         return val
 * 
 */
  __pyx_t_4 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(__pyx_v_self, (&__pyx_v_val), 1); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1139
 *         H5Tget_member_value(self.id, idx, &val)
 *         self.enum_convert(&val, 1)
 *         return val             # <<<<<<<<<<<<<<
 * 
 *     cdef object py_dtype(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyLong_FromLongLong(__pyx_v_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.get_member_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1141
 *         return val
 * 
 *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
 *         # Translation function for enum types
 * 
 */

static PyObject *__pyx_f_4h5py_3h5t_10TypeEnumID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self) {
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_basetype = 0;
  PyObject *__pyx_v_nmembers = NULL;
  PyObject *__pyx_v_members = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_val = NULL;
  PyObject *__pyx_v_ref = NULL;
  PyObject *__pyx_v_members_conv = NULL;
  PyObject *__pyx_v_uname = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_dtype", 0);

  /* "h5py/h5t.pyx":1144
 *         # Translation function for enum types
 * 
 *         cdef TypeID basetype = self.get_super()             # <<<<<<<<<<<<<<
 * 
 *         nmembers = self.get_nmembers()
 */
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_super); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_basetype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "h5py/h5t.pyx":1146
 *         cdef TypeID basetype = self.get_super()
 * 
 *         nmembers = self.get_nmembers()             # <<<<<<<<<<<<<<
 *         members = {}
 * 
 */
  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_nmembers); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_nmembers = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":1147
 * 
 *         nmembers = self.get_nmembers()
 *         members = {}             # <<<<<<<<<<<<<<
 * 
 *         for idx in xrange(nmembers):
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
  __pyx_v_members = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":1149
 *         members = {}
 * 
 *         for idx in xrange(nmembers):             # <<<<<<<<<<<<<<
 *             name = self.get_member_name(idx)
 *             val = self.get_member_value(idx)
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_nmembers);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_nmembers);
  __Pyx_GIVEREF(__pyx_v_nmembers);
  __pyx_t_2 = PyObject_Call(__pyx_builtin_xrange, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
  if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
    __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (!__pyx_t_4 && PyList_CheckExact(__pyx_t_1)) {
      if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_COMPILING_IN_CPYTHON
      __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #else
      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #endif
    } else if (!__pyx_t_4 && PyTuple_CheckExact(__pyx_t_1)) {
      if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_COMPILING_IN_CPYTHON
      __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #else
      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #endif
    } else {
      __pyx_t_2 = __pyx_t_4(__pyx_t_1);
      if (unlikely(!__pyx_t_2)) {
        if (PyErr_Occurred()) {
          if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
          else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF(__pyx_v_idx);
    __pyx_v_idx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "h5py/h5t.pyx":1150
 * 
 *         for idx in xrange(nmembers):
 *             name = self.get_member_name(idx)             # <<<<<<<<<<<<<<
 *             val = self.get_member_value(idx)
 *             members[name] = val
 */
    __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_member_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_INCREF(__pyx_v_idx);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_idx);
    __Pyx_GIVEREF(__pyx_v_idx);
    __pyx_t_6 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_v_name);
    __pyx_v_name = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "h5py/h5t.pyx":1151
 *         for idx in xrange(nmembers):
 *             name = self.get_member_name(idx)
 *             val = self.get_member_value(idx)             # <<<<<<<<<<<<<<
 *             members[name] = val
 * 
 */
    __pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_member_value); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_INCREF(__pyx_v_idx);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_idx);
    __Pyx_GIVEREF(__pyx_v_idx);
    __pyx_t_2 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_v_val);
    __pyx_v_val = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "h5py/h5t.pyx":1152
 *             name = self.get_member_name(idx)
 *             val = self.get_member_value(idx)
 *             members[name] = val             # <<<<<<<<<<<<<<
 * 
 *         ref = {cfg._f_name: 0, cfg._t_name: 1}
 */
    if (PyDict_SetItem(((PyObject *)__pyx_v_members), __pyx_v_name, __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":1154
 *             members[name] = val
 * 
 *         ref = {cfg._f_name: 0, cfg._t_name: 1}             # <<<<<<<<<<<<<<
 * 
 *         # Boolean types have priority over standard enums
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s___f_name); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_5, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s___t_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_ref = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":1157
 * 
 *         # Boolean types have priority over standard enums
 *         if members == ref:             # <<<<<<<<<<<<<<
 *             return dtype('bool')
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_members), ((PyObject *)__pyx_v_ref), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_7) {

    /* "h5py/h5t.pyx":1158
 *         # Boolean types have priority over standard enums
 *         if members == ref:
 *             return dtype('bool')             # <<<<<<<<<<<<<<
 * 
 *         # Convert strings to appropriate representation
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_k_tuple_22), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;
    goto __pyx_L5;
  }
  __pyx_L5:;

  /* "h5py/h5t.pyx":1161
 * 
 *         # Convert strings to appropriate representation
 *         members_conv = {}             # <<<<<<<<<<<<<<
 *         for name, val in members.iteritems():
 *             try:    # ASCII; Py2 -> preserve bytes, Py3 -> make unicode
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
  __pyx_v_members_conv = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":1162
 *         # Convert strings to appropriate representation
 *         members_conv = {}
 *         for name, val in members.iteritems():             # <<<<<<<<<<<<<<
 *             try:    # ASCII; Py2 -> preserve bytes, Py3 -> make unicode
 *                 uname = name.decode('ascii')
 */
  __pyx_t_3 = 0;
  __pyx_t_2 = __Pyx_dict_iterator(((PyObject *)__pyx_v_members), 1, ((PyObject *)__pyx_n_s__iteritems), (&__pyx_t_8), (&__pyx_t_9)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_2;
  __pyx_t_2 = 0;
  while (1) {
    __pyx_t_10 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_8, &__pyx_t_3, &__pyx_t_2, &__pyx_t_5, NULL, __pyx_t_9);
    if (unlikely(__pyx_t_10 == 0)) break;
    if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_v_name);
    __pyx_v_name = __pyx_t_2;
    __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_v_val);
    __pyx_v_val = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "h5py/h5t.pyx":1163
 *         members_conv = {}
 *         for name, val in members.iteritems():
 *             try:    # ASCII; Py2 -> preserve bytes, Py3 -> make unicode             # <<<<<<<<<<<<<<
 *                 uname = name.decode('ascii')
 *                 if PY3:
 */
    {
      __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13);
      __Pyx_XGOTREF(__pyx_t_11);
      __Pyx_XGOTREF(__pyx_t_12);
      __Pyx_XGOTREF(__pyx_t_13);
      /*try:*/ {

        /* "h5py/h5t.pyx":1164
 *         for name, val in members.iteritems():
 *             try:    # ASCII; Py2 -> preserve bytes, Py3 -> make unicode
 *                 uname = name.decode('ascii')             # <<<<<<<<<<<<<<
 *                 if PY3:
 *                     name = uname
 */
        __pyx_t_5 = PyObject_GetAttr(__pyx_v_name, __pyx_n_s__decode); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_2 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_k_tuple_23), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_XDECREF(__pyx_v_uname);
        __pyx_v_uname = __pyx_t_2;
        __pyx_t_2 = 0;

        /* "h5py/h5t.pyx":1165
 *             try:    # ASCII; Py2 -> preserve bytes, Py3 -> make unicode
 *                 uname = name.decode('ascii')
 *                 if PY3:             # <<<<<<<<<<<<<<
 *                     name = uname
 *             except UnicodeDecodeError:
 */
        __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__PY3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (__pyx_t_7) {

          /* "h5py/h5t.pyx":1166
 *                 uname = name.decode('ascii')
 *                 if PY3:
 *                     name = uname             # <<<<<<<<<<<<<<
 *             except UnicodeDecodeError:
 *                 try:    # Non-ascii; all platforms try unicode
 */
          __Pyx_INCREF(__pyx_v_uname);
          __Pyx_DECREF(__pyx_v_name);
          __pyx_v_name = __pyx_v_uname;
          goto __pyx_L16;
        }
        __pyx_L16:;
      }
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
      goto __pyx_L15_try_end;
      __pyx_L8_error:;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "h5py/h5t.pyx":1167
 *                 if PY3:
 *                     name = uname
 *             except UnicodeDecodeError:             # <<<<<<<<<<<<<<
 *                 try:    # Non-ascii; all platforms try unicode
 *                     name = name.decode('utf8')
 */
      __pyx_t_10 = PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("h5py.h5t.TypeEnumID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1167; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;}
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_GOTREF(__pyx_t_6);

        /* "h5py/h5t.pyx":1168
 *                     name = uname
 *             except UnicodeDecodeError:
 *                 try:    # Non-ascii; all platforms try unicode             # <<<<<<<<<<<<<<
 *                     name = name.decode('utf8')
 *                 except UnicodeDecodeError:
 */
        {
          __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16);
          __Pyx_XGOTREF(__pyx_t_14);
          __Pyx_XGOTREF(__pyx_t_15);
          __Pyx_XGOTREF(__pyx_t_16);
          /*try:*/ {

            /* "h5py/h5t.pyx":1169
 *             except UnicodeDecodeError:
 *                 try:    # Non-ascii; all platforms try unicode
 *                     name = name.decode('utf8')             # <<<<<<<<<<<<<<
 *                 except UnicodeDecodeError:
 *                     pass    # Last resort: return byte string
 */
            __pyx_t_17 = PyObject_GetAttr(__pyx_v_name, __pyx_n_s__decode); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L19_error;}
            __Pyx_GOTREF(__pyx_t_17);
            __pyx_t_18 = PyObject_Call(__pyx_t_17, ((PyObject *)__pyx_k_tuple_24), NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L19_error;}
            __Pyx_GOTREF(__pyx_t_18);
            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
            __Pyx_DECREF(__pyx_v_name);
            __pyx_v_name = __pyx_t_18;
            __pyx_t_18 = 0;
          }
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
          __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
          goto __pyx_L26_try_end;
          __pyx_L19_error:;
          __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
          __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0;

          /* "h5py/h5t.pyx":1170
 *                 try:    # Non-ascii; all platforms try unicode
 *                     name = name.decode('utf8')
 *                 except UnicodeDecodeError:             # <<<<<<<<<<<<<<
 *                     pass    # Last resort: return byte string
 *             members_conv[name] = val
 */
          __pyx_t_10 = PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError);
          if (__pyx_t_10) {
            PyErr_Restore(0,0,0);
            goto __pyx_L20_exception_handled;
          }
          __Pyx_XGIVEREF(__pyx_t_14);
          __Pyx_XGIVEREF(__pyx_t_15);
          __Pyx_XGIVEREF(__pyx_t_16);
          __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16);
          goto __pyx_L10_except_error;
          __pyx_L20_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_14);
          __Pyx_XGIVEREF(__pyx_t_15);
          __Pyx_XGIVEREF(__pyx_t_16);
          __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16);
          __pyx_L26_try_end:;
        }
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L9_exception_handled;
      }
      __pyx_L10_except_error:;
      __Pyx_XGIVEREF(__pyx_t_11);
      __Pyx_XGIVEREF(__pyx_t_12);
      __Pyx_XGIVEREF(__pyx_t_13);
      __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
      goto __pyx_L1_error;
      __pyx_L9_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_11);
      __Pyx_XGIVEREF(__pyx_t_12);
      __Pyx_XGIVEREF(__pyx_t_13);
      __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
      __pyx_L15_try_end:;
    }

    /* "h5py/h5t.pyx":1172
 *                 except UnicodeDecodeError:
 *                     pass    # Last resort: return byte string
 *             members_conv[name] = val             # <<<<<<<<<<<<<<
 *         return special_dtype(enum=(basetype.py_dtype(), members_conv))
 * 
 */
    if (PyDict_SetItem(((PyObject *)__pyx_v_members_conv), __pyx_v_name, __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":1173
 *                     pass    # Last resort: return byte string
 *             members_conv[name] = val
 *         return special_dtype(enum=(basetype.py_dtype(), members_conv))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_6));
  __pyx_t_5 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_basetype->__pyx_vtab)->py_dtype(__pyx_v_basetype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_members_conv));
  PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_members_conv));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_members_conv));
  __pyx_t_5 = 0;
  if (PyDict_SetItem(__pyx_t_6, ((PyObject *)__pyx_n_s__enum), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_6)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_XDECREF(__pyx_t_18);
  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_basetype);
  __Pyx_XDECREF(__pyx_v_nmembers);
  __Pyx_XDECREF(__pyx_v_members);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_val);
  __Pyx_XDECREF(__pyx_v_ref);
  __Pyx_XDECREF(__pyx_v_members_conv);
  __Pyx_XDECREF(__pyx_v_uname);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1194
 * cdef dict _uint_nt = {1: H5T_NATIVE_UINT8, 2: H5T_NATIVE_UINT16, 4: H5T_NATIVE_UINT32, 8: H5T_NATIVE_UINT64}
 * 
 * cdef TypeFloatID _c_float(dtype dt):             # <<<<<<<<<<<<<<
 *     # Floats (single and double)
 *     cdef hid_t tid
 */

static struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_f_4h5py_3h5t__c_float(PyArray_Descr *__pyx_v_dt) {
  hid_t __pyx_v_tid;
  struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  hid_t __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_c_float", 0);

  /* "h5py/h5t.pyx":1198
 *     cdef hid_t tid
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         if dt.byteorder == c'<':
 *             tid =  _float_le[dt.elsize]
 */
  {
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "h5py/h5t.pyx":1201
 *         if dt.byteorder == c'<':
 *             tid =  _float_le[dt.elsize]
 *         elif dt.byteorder == c'>':             # <<<<<<<<<<<<<<
 *             tid =  _float_be[dt.elsize]
 *         else:
 */
      switch (__pyx_v_dt->byteorder) {

        /* "h5py/h5t.pyx":1199
 * 
 *     try:
 *         if dt.byteorder == c'<':             # <<<<<<<<<<<<<<
 *             tid =  _float_le[dt.elsize]
 *         elif dt.byteorder == c'>':
 */
        case '<':

        /* "h5py/h5t.pyx":1200
 *     try:
 *         if dt.byteorder == c'<':
 *             tid =  _float_le[dt.elsize]             # <<<<<<<<<<<<<<
 *         elif dt.byteorder == c'>':
 *             tid =  _float_be[dt.elsize]
 */
        if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__float_le) == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        __pyx_t_4 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__float_le), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PyInt_from_py_hid_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_v_tid = __pyx_t_5;
        break;

        /* "h5py/h5t.pyx":1201
 *         if dt.byteorder == c'<':
 *             tid =  _float_le[dt.elsize]
 *         elif dt.byteorder == c'>':             # <<<<<<<<<<<<<<
 *             tid =  _float_be[dt.elsize]
 *         else:
 */
        case '>':

        /* "h5py/h5t.pyx":1202
 *             tid =  _float_le[dt.elsize]
 *         elif dt.byteorder == c'>':
 *             tid =  _float_be[dt.elsize]             # <<<<<<<<<<<<<<
 *         else:
 *             tid =  _float_nt[dt.elsize]
 */
        if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__float_be) == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        __pyx_t_4 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__float_be), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PyInt_from_py_hid_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_v_tid = __pyx_t_5;
        break;
        default:

        /* "h5py/h5t.pyx":1204
 *             tid =  _float_be[dt.elsize]
 *         else:
 *             tid =  _float_nt[dt.elsize]             # <<<<<<<<<<<<<<
 *     except KeyError:
 *         raise TypeError("Unsupported float size (%s)" % dt.elsize)
 */
        if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__float_nt) == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        __pyx_t_4 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__float_nt), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PyInt_from_py_hid_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_v_tid = __pyx_t_5;
        break;
      }
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L10_try_end;
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "h5py/h5t.pyx":1205
 *         else:
 *             tid =  _float_nt[dt.elsize]
 *     except KeyError:             # <<<<<<<<<<<<<<
 *         raise TypeError("Unsupported float size (%s)" % dt.elsize)
 * 
 */
    __pyx_t_6 = PyErr_ExceptionMatches(__pyx_builtin_KeyError);
    if (__pyx_t_6) {
      __Pyx_AddTraceback("h5py.h5t._c_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_7, &__pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GOTREF(__pyx_t_8);

      /* "h5py/h5t.pyx":1206
 *             tid =  _float_nt[dt.elsize]
 *     except KeyError:
 *         raise TypeError("Unsupported float size (%s)" % dt.elsize)             # <<<<<<<<<<<<<<
 * 
 *     return TypeFloatID(H5Tcopy(tid))
 */
      __pyx_t_9 = PyInt_FromLong(__pyx_v_dt->elsize); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_25), __pyx_t_9); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
      __Pyx_GOTREF(((PyObject *)__pyx_t_10));
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
      __Pyx_GOTREF(__pyx_t_9);
      PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_t_10));
      __Pyx_GIVEREF(((PyObject *)__pyx_t_10));
      __pyx_t_10 = 0;
      __pyx_t_10 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_9), NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0;
      __Pyx_Raise(__pyx_t_10, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L4_exception_handled;
    }
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L10_try_end:;
  }

  /* "h5py/h5t.pyx":1208
 *         raise TypeError("Unsupported float size (%s)" % dt.elsize)
 * 
 *     return TypeFloatID(H5Tcopy(tid))             # <<<<<<<<<<<<<<
 * 
 * cdef TypeIntegerID _c_int(dtype dt):
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tcopy(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_8 = __Pyx_PyInt_to_py_hid_t(__pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_8);
  __pyx_t_8 = 0;
  __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeFloatID)), ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_t_8);
  __pyx_t_8 = 0;
  goto __pyx_L0;

  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("h5py.h5t._c_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1210
 *     return TypeFloatID(H5Tcopy(tid))
 * 
 * cdef TypeIntegerID _c_int(dtype dt):             # <<<<<<<<<<<<<<
 *     # Integers (ints and uints)
 *     cdef hid_t tid
 */

static struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_f_4h5py_3h5t__c_int(PyArray_Descr *__pyx_v_dt) {
  hid_t __pyx_v_tid;
  struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  hid_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_c_int", 0);

  /* "h5py/h5t.pyx":1214
 *     cdef hid_t tid
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         if dt.kind == c'i':
 *             if dt.byteorder == c'<':
 */
  {
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "h5py/h5t.pyx":1222
 *             else:
 *                 tid = _int_nt[dt.elsize]
 *         elif dt.kind == c'u':             # <<<<<<<<<<<<<<
 *             if dt.byteorder == c'<':
 *                 tid = _uint_le[dt.elsize]
 */
      switch (__pyx_v_dt->kind) {

        /* "h5py/h5t.pyx":1215
 * 
 *     try:
 *         if dt.kind == c'i':             # <<<<<<<<<<<<<<
 *             if dt.byteorder == c'<':
 *                 tid = _int_le[dt.elsize]
 */
        case 'i':

        /* "h5py/h5t.pyx":1216
 *     try:
 *         if dt.kind == c'i':
 *             if dt.byteorder == c'<':             # <<<<<<<<<<<<<<
 *                 tid = _int_le[dt.elsize]
 *             elif dt.byteorder == c'>':
 */
        __pyx_t_4 = (__pyx_v_dt->byteorder == '<');
        if (__pyx_t_4) {

          /* "h5py/h5t.pyx":1217
 *         if dt.kind == c'i':
 *             if dt.byteorder == c'<':
 *                 tid = _int_le[dt.elsize]             # <<<<<<<<<<<<<<
 *             elif dt.byteorder == c'>':
 *                 tid = _int_be[dt.elsize]
 */
          if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__int_le) == Py_None)) {
            PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          }
          __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__int_le), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_v_tid = __pyx_t_6;
          goto __pyx_L11;
        }

        /* "h5py/h5t.pyx":1218
 *             if dt.byteorder == c'<':
 *                 tid = _int_le[dt.elsize]
 *             elif dt.byteorder == c'>':             # <<<<<<<<<<<<<<
 *                 tid = _int_be[dt.elsize]
 *             else:
 */
        __pyx_t_4 = (__pyx_v_dt->byteorder == '>');
        if (__pyx_t_4) {

          /* "h5py/h5t.pyx":1219
 *                 tid = _int_le[dt.elsize]
 *             elif dt.byteorder == c'>':
 *                 tid = _int_be[dt.elsize]             # <<<<<<<<<<<<<<
 *             else:
 *                 tid = _int_nt[dt.elsize]
 */
          if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__int_be) == Py_None)) {
            PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          }
          __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__int_be), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_v_tid = __pyx_t_6;
          goto __pyx_L11;
        }
        /*else*/ {

          /* "h5py/h5t.pyx":1221
 *                 tid = _int_be[dt.elsize]
 *             else:
 *                 tid = _int_nt[dt.elsize]             # <<<<<<<<<<<<<<
 *         elif dt.kind == c'u':
 *             if dt.byteorder == c'<':
 */
          if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__int_nt) == Py_None)) {
            PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          }
          __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__int_nt), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_v_tid = __pyx_t_6;
        }
        __pyx_L11:;
        break;

        /* "h5py/h5t.pyx":1222
 *             else:
 *                 tid = _int_nt[dt.elsize]
 *         elif dt.kind == c'u':             # <<<<<<<<<<<<<<
 *             if dt.byteorder == c'<':
 *                 tid = _uint_le[dt.elsize]
 */
        case 'u':

        /* "h5py/h5t.pyx":1223
 *                 tid = _int_nt[dt.elsize]
 *         elif dt.kind == c'u':
 *             if dt.byteorder == c'<':             # <<<<<<<<<<<<<<
 *                 tid = _uint_le[dt.elsize]
 *             elif dt.byteorder == c'>':
 */
        __pyx_t_4 = (__pyx_v_dt->byteorder == '<');
        if (__pyx_t_4) {

          /* "h5py/h5t.pyx":1224
 *         elif dt.kind == c'u':
 *             if dt.byteorder == c'<':
 *                 tid = _uint_le[dt.elsize]             # <<<<<<<<<<<<<<
 *             elif dt.byteorder == c'>':
 *                 tid = _uint_be[dt.elsize]
 */
          if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__uint_le) == Py_None)) {
            PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          }
          __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__uint_le), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_v_tid = __pyx_t_6;
          goto __pyx_L12;
        }

        /* "h5py/h5t.pyx":1225
 *             if dt.byteorder == c'<':
 *                 tid = _uint_le[dt.elsize]
 *             elif dt.byteorder == c'>':             # <<<<<<<<<<<<<<
 *                 tid = _uint_be[dt.elsize]
 *             else:
 */
        __pyx_t_4 = (__pyx_v_dt->byteorder == '>');
        if (__pyx_t_4) {

          /* "h5py/h5t.pyx":1226
 *                 tid = _uint_le[dt.elsize]
 *             elif dt.byteorder == c'>':
 *                 tid = _uint_be[dt.elsize]             # <<<<<<<<<<<<<<
 *             else:
 *                 tid = _uint_nt[dt.elsize]
 */
          if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__uint_be) == Py_None)) {
            PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          }
          __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__uint_be), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_v_tid = __pyx_t_6;
          goto __pyx_L12;
        }
        /*else*/ {

          /* "h5py/h5t.pyx":1228
 *                 tid = _uint_be[dt.elsize]
 *             else:
 *                 tid = _uint_nt[dt.elsize]             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError('Illegal int kind "%s"' % dt.kind)
 */
          if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__uint_nt) == Py_None)) {
            PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          }
          __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__uint_nt), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_v_tid = __pyx_t_6;
        }
        __pyx_L12:;
        break;
        default:

        /* "h5py/h5t.pyx":1230
 *                 tid = _uint_nt[dt.elsize]
 *         else:
 *             raise TypeError('Illegal int kind "%s"' % dt.kind)             # <<<<<<<<<<<<<<
 *     except KeyError:
 *         raise TypeError("Unsupported integer size (%s)" % dt.elsize)
 */
        __pyx_t_5 = PyInt_FromLong(__pyx_v_dt->kind); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_7 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_26), __pyx_t_5); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        __Pyx_GOTREF(((PyObject *)__pyx_t_7));
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        __Pyx_GOTREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_7));
        __Pyx_GIVEREF(((PyObject *)__pyx_t_7));
        __pyx_t_7 = 0;
        __pyx_t_7 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
        __Pyx_Raise(__pyx_t_7, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        break;
      }
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L10_try_end;
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "h5py/h5t.pyx":1231
 *         else:
 *             raise TypeError('Illegal int kind "%s"' % dt.kind)
 *     except KeyError:             # <<<<<<<<<<<<<<
 *         raise TypeError("Unsupported integer size (%s)" % dt.elsize)
 * 
 */
    __pyx_t_8 = PyErr_ExceptionMatches(__pyx_builtin_KeyError);
    if (__pyx_t_8) {
      __Pyx_AddTraceback("h5py.h5t._c_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_5, &__pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1231; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GOTREF(__pyx_t_9);

      /* "h5py/h5t.pyx":1232
 *             raise TypeError('Illegal int kind "%s"' % dt.kind)
 *     except KeyError:
 *         raise TypeError("Unsupported integer size (%s)" % dt.elsize)             # <<<<<<<<<<<<<<
 * 
 *     return TypeIntegerID(H5Tcopy(tid))
 */
      __pyx_t_10 = PyInt_FromLong(__pyx_v_dt->elsize); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_27), __pyx_t_10); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
      __Pyx_GOTREF(((PyObject *)__pyx_t_11));
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
      __Pyx_GOTREF(__pyx_t_10);
      PyTuple_SET_ITEM(__pyx_t_10, 0, ((PyObject *)__pyx_t_11));
      __Pyx_GIVEREF(((PyObject *)__pyx_t_11));
      __pyx_t_11 = 0;
      __pyx_t_11 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_10), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
      __Pyx_Raise(__pyx_t_11, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      goto __pyx_L4_exception_handled;
    }
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L10_try_end:;
  }

  /* "h5py/h5t.pyx":1234
 *         raise TypeError("Unsupported integer size (%s)" % dt.elsize)
 * 
 *     return TypeIntegerID(H5Tcopy(tid))             # <<<<<<<<<<<<<<
 * 
 * cdef TypeEnumID _c_enum(dtype dt, dict vals):
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tcopy(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_9 = __Pyx_PyInt_to_py_hid_t(__pyx_t_6); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_9);
  __pyx_t_9 = 0;
  __pyx_t_9 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeIntegerID)), ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_t_9);
  __pyx_t_9 = 0;
  goto __pyx_L0;

  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5t._c_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1236
 *     return TypeIntegerID(H5Tcopy(tid))
 * 
 * cdef TypeEnumID _c_enum(dtype dt, dict vals):             # <<<<<<<<<<<<<<
 *     # Enums
 *     cdef TypeIntegerID base
 */

static struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_f_4h5py_3h5t__c_enum(PyArray_Descr *__pyx_v_dt, PyObject *__pyx_v_vals) {
  struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_base = 0;
  struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_out = 0;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_bname = NULL;
  struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  hid_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  PyObject *(*__pyx_t_5)(PyObject *);
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_c_enum", 0);

  /* "h5py/h5t.pyx":1241
 *     cdef TypeEnumID out
 * 
 *     base = _c_int(dt)             # <<<<<<<<<<<<<<
 * 
 *     out = TypeEnumID(H5Tenum_create(base.id))
 */
  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t__c_int(__pyx_v_dt)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_base = ((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":1243
 *     base = _c_int(dt)
 * 
 *     out = TypeEnumID(H5Tenum_create(base.id))             # <<<<<<<<<<<<<<
 *     for name in sorted(vals):
 *         if isinstance(name, bytes):
 */
  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tenum_create(__pyx_v_base->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeEnumID)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
  __pyx_v_out = ((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":1244
 * 
 *     out = TypeEnumID(H5Tenum_create(base.id))
 *     for name in sorted(vals):             # <<<<<<<<<<<<<<
 *         if isinstance(name, bytes):
 *             bname = name
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_vals));
  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_vals));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_vals));
  __pyx_t_3 = PyObject_Call(__pyx_builtin_sorted, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
  if (PyList_CheckExact(__pyx_t_3) || PyTuple_CheckExact(__pyx_t_3)) {
    __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = Py_TYPE(__pyx_t_1)->tp_iternext;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  for (;;) {
    if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_1)) {
      if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_COMPILING_IN_CPYTHON
      __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #else
      __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #endif
    } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_1)) {
      if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_COMPILING_IN_CPYTHON
      __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #else
      __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #endif
    } else {
      __pyx_t_3 = __pyx_t_5(__pyx_t_1);
      if (unlikely(!__pyx_t_3)) {
        if (PyErr_Occurred()) {
          if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
          else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_XDECREF(__pyx_v_name);
    __pyx_v_name = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "h5py/h5t.pyx":1245
 *     out = TypeEnumID(H5Tenum_create(base.id))
 *     for name in sorted(vals):
 *         if isinstance(name, bytes):             # <<<<<<<<<<<<<<
 *             bname = name
 *         else:
 */
    __pyx_t_6 = PyBytes_Check(__pyx_v_name); 
    if (__pyx_t_6) {

      /* "h5py/h5t.pyx":1246
 *     for name in sorted(vals):
 *         if isinstance(name, bytes):
 *             bname = name             # <<<<<<<<<<<<<<
 *         else:
 *             bname = unicode(name).encode('utf8')
 */
      __Pyx_INCREF(__pyx_v_name);
      __Pyx_XDECREF(__pyx_v_bname);
      __pyx_v_bname = __pyx_v_name;
      goto __pyx_L5;
    }
    /*else*/ {

      /* "h5py/h5t.pyx":1248
 *             bname = name
 *         else:
 *             bname = unicode(name).encode('utf8')             # <<<<<<<<<<<<<<
 *         out.enum_insert(bname, vals[name])
 *     return out
 */
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_v_name);
      PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_name);
      __Pyx_GIVEREF(__pyx_v_name);
      __pyx_t_7 = PyObject_Call(((PyObject *)((PyObject*)(&PyUnicode_Type))), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
      __pyx_t_3 = ((PyObject *)PyUnicode_AsUTF8String(((PyObject*)__pyx_t_7))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(((PyObject *)__pyx_t_3));
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_v_bname);
      __pyx_v_bname = ((PyObject *)__pyx_t_3);
      __pyx_t_3 = 0;
    }
    __pyx_L5:;

    /* "h5py/h5t.pyx":1249
 *         else:
 *             bname = unicode(name).encode('utf8')
 *         out.enum_insert(bname, vals[name])             # <<<<<<<<<<<<<<
 *     return out
 * 
 */
    __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_out), __pyx_n_s__enum_insert); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely(((PyObject *)__pyx_v_vals) == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    }
    __pyx_t_7 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_vals), __pyx_v_name); if (!__pyx_t_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_INCREF(__pyx_v_bname);
    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_bname);
    __Pyx_GIVEREF(__pyx_v_bname);
    PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_7);
    __pyx_t_7 = 0;
    __pyx_t_7 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":1250
 *             bname = unicode(name).encode('utf8')
 *         out.enum_insert(bname, vals[name])
 *     return out             # <<<<<<<<<<<<<<
 * 
 * cdef TypeEnumID _c_bool(dtype dt):
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __Pyx_INCREF(((PyObject *)__pyx_v_out));
  __pyx_r = __pyx_v_out;
  goto __pyx_L0;

  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("h5py.h5t._c_enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_base);
  __Pyx_XDECREF((PyObject *)__pyx_v_out);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_bname);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1252
 *     return out
 * 
 * cdef TypeEnumID _c_bool(dtype dt):             # <<<<<<<<<<<<<<
 *     # Booleans
 *     global cfg
 */

static struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_f_4h5py_3h5t__c_bool(CYTHON_UNUSED PyArray_Descr *__pyx_v_dt) {
  struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_out = 0;
  struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_c_bool", 0);

  /* "h5py/h5t.pyx":1257
 * 
 *     cdef TypeEnumID out
 *     out = TypeEnumID(H5Tenum_create(H5T_NATIVE_INT8))             # <<<<<<<<<<<<<<
 * 
 *     out.enum_insert(cfg._f_name, 0)
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tenum_create(H5T_NATIVE_INT8); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeEnumID)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
  __pyx_v_out = ((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "h5py/h5t.pyx":1259
 *     out = TypeEnumID(H5Tenum_create(H5T_NATIVE_INT8))
 * 
 *     out.enum_insert(cfg._f_name, 0)             # <<<<<<<<<<<<<<
 *     out.enum_insert(cfg._t_name, 1)
 * 
 */
  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_out), __pyx_n_s__enum_insert); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s___f_name); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_int_0);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_0);
  __Pyx_GIVEREF(__pyx_int_0);
  __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1260
 * 
 *     out.enum_insert(cfg._f_name, 0)
 *     out.enum_insert(cfg._t_name, 1)             # <<<<<<<<<<<<<<
 * 
 *     return out
 */
  __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_out), __pyx_n_s__enum_insert); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s___t_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_int_1);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_1);
  __Pyx_GIVEREF(__pyx_int_1);
  __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5t.pyx":1262
 *     out.enum_insert(cfg._t_name, 1)
 * 
 *     return out             # <<<<<<<<<<<<<<
 * 
 * cdef TypeArrayID _c_array(dtype dt, int logical):
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __Pyx_INCREF(((PyObject *)__pyx_v_out));
  __pyx_r = __pyx_v_out;
  goto __pyx_L0;

  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5t._c_bool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_out);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1264
 *     return out
 * 
 * cdef TypeArrayID _c_array(dtype dt, int logical):             # <<<<<<<<<<<<<<
 *     # Arrays
 *     cdef dtype base
 */

static struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_f_4h5py_3h5t__c_array(PyArray_Descr *__pyx_v_dt, int __pyx_v_logical) {
  PyArray_Descr *__pyx_v_base = 0;
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_type_base = 0;
  PyObject *__pyx_v_shape = 0;
  struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *(*__pyx_t_5)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_c_array", 0);

  /* "h5py/h5t.pyx":1270
 *     cdef object shape
 * 
 *     base, shape = dt.subdtype             # <<<<<<<<<<<<<<
 *     try:
 *         shape = tuple(shape)
 */
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__subdtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
    PyObject* sequence = __pyx_t_1;
    #if CYTHON_COMPILING_IN_CPYTHON
    Py_ssize_t size = Py_SIZE(sequence);
    #else
    Py_ssize_t size = PySequence_Size(sequence);
    #endif
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    }
    #if CYTHON_COMPILING_IN_CPYTHON
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    #else
    __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else
  {
    Py_ssize_t index = -1;
    __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext;
    index = 0; __pyx_t_2 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    index = 1; __pyx_t_3 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_4), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_5 = NULL;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_L4_unpacking_done:;
  }
  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_base = ((PyArray_Descr *)__pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_v_shape = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "h5py/h5t.pyx":1271
 * 
 *     base, shape = dt.subdtype
 *     try:             # <<<<<<<<<<<<<<
 *         shape = tuple(shape)
 *     except TypeError:
 */
  {
    __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8);
    __Pyx_XGOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_t_7);
    __Pyx_XGOTREF(__pyx_t_8);
    /*try:*/ {

      /* "h5py/h5t.pyx":1272
 *     base, shape = dt.subdtype
 *     try:
 *         shape = tuple(shape)             # <<<<<<<<<<<<<<
 *     except TypeError:
 *         try:
 */
      __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_INCREF(__pyx_v_shape);
      PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_shape);
      __Pyx_GIVEREF(__pyx_v_shape);
      __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_v_shape);
      __pyx_v_shape = __pyx_t_3;
      __pyx_t_3 = 0;
    }
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    goto __pyx_L12_try_end;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "h5py/h5t.pyx":1273
 *     try:
 *         shape = tuple(shape)
 *     except TypeError:             # <<<<<<<<<<<<<<
 *         try:
 *             shape = (int(shape),)
 */
    __pyx_t_9 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
    if (__pyx_t_9) {
      __Pyx_AddTraceback("h5py.h5t._c_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_GOTREF(__pyx_t_2);

      /* "h5py/h5t.pyx":1274
 *         shape = tuple(shape)
 *     except TypeError:
 *         try:             # <<<<<<<<<<<<<<
 *             shape = (int(shape),)
 *         except TypeError:
 */
      {
        __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12);
        __Pyx_XGOTREF(__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_11);
        __Pyx_XGOTREF(__pyx_t_12);
        /*try:*/ {

          /* "h5py/h5t.pyx":1275
 *     except TypeError:
 *         try:
 *             shape = (int(shape),)             # <<<<<<<<<<<<<<
 *         except TypeError:
 *             raise TypeError("Array shape for dtype must be a sequence or integer")
 */
          __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L15_error;}
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_INCREF(__pyx_v_shape);
          PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape);
          __Pyx_GIVEREF(__pyx_v_shape);
          __pyx_t_13 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L15_error;}
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
          __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L15_error;}
          __Pyx_GOTREF(__pyx_t_4);
          PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_13);
          __Pyx_GIVEREF(__pyx_t_13);
          __pyx_t_13 = 0;
          __Pyx_DECREF(__pyx_v_shape);
          __pyx_v_shape = ((PyObject *)__pyx_t_4);
          __pyx_t_4 = 0;
        }
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        goto __pyx_L22_try_end;
        __pyx_L15_error:;
        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

        /* "h5py/h5t.pyx":1276
 *         try:
 *             shape = (int(shape),)
 *         except TypeError:             # <<<<<<<<<<<<<<
 *             raise TypeError("Array shape for dtype must be a sequence or integer")
 *     type_base = py_create(base, logical=logical)
 */
        __pyx_t_9 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
        if (__pyx_t_9) {
          __Pyx_AddTraceback("h5py.h5t._c_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_13, &__pyx_t_14) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L17_except_error;}
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_GOTREF(__pyx_t_14);

          /* "h5py/h5t.pyx":1277
 *             shape = (int(shape),)
 *         except TypeError:
 *             raise TypeError("Array shape for dtype must be a sequence or integer")             # <<<<<<<<<<<<<<
 *     type_base = py_create(base, logical=logical)
 *     return array_create(type_base, shape)
 */
          __pyx_t_15 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_29), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L17_except_error;}
          __Pyx_GOTREF(__pyx_t_15);
          __Pyx_Raise(__pyx_t_15, 0, 0, 0);
          __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L17_except_error;}
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          goto __pyx_L16_exception_handled;
        }
        __pyx_L17_except_error:;
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_XGIVEREF(__pyx_t_11);
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
        goto __pyx_L7_except_error;
        __pyx_L16_exception_handled:;
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_XGIVEREF(__pyx_t_11);
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
        __pyx_L22_try_end:;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      goto __pyx_L6_exception_handled;
    }
    __pyx_L7_except_error:;
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8);
    goto __pyx_L1_error;
    __pyx_L6_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_6);
    __Pyx_XGIVEREF(__pyx_t_7);
    __Pyx_XGIVEREF(__pyx_t_8);
    __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8);
    __pyx_L12_try_end:;
  }

  /* "h5py/h5t.pyx":1278
 *         except TypeError:
 *             raise TypeError("Array shape for dtype must be a sequence or integer")
 *     type_base = py_create(base, logical=logical)             # <<<<<<<<<<<<<<
 *     return array_create(type_base, shape)
 * 
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__py_create); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_base));
  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_base));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_base));
  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
  __pyx_t_14 = PyInt_FromLong(__pyx_v_logical); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_14);
  if (PyDict_SetItem(__pyx_t_3, ((PyObject *)__pyx_n_s__logical), __pyx_t_14) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_1), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
  if (!(likely(((__pyx_t_14) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_14, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_type_base = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_14);
  __pyx_t_14 = 0;

  /* "h5py/h5t.pyx":1279
 *             raise TypeError("Array shape for dtype must be a sequence or integer")
 *     type_base = py_create(base, logical=logical)
 *     return array_create(type_base, shape)             # <<<<<<<<<<<<<<
 * 
 * cdef TypeOpaqueID _c_opaque(dtype dt):
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_14 = __Pyx_GetName(__pyx_m, __pyx_n_s__array_create); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(((PyObject *)__pyx_v_type_base));
  PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_type_base));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_type_base));
  __Pyx_INCREF(__pyx_v_shape);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_shape);
  __Pyx_GIVEREF(__pyx_v_shape);
  __pyx_t_1 = PyObject_Call(__pyx_t_14, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_3h5t_TypeArrayID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("h5py.h5t._c_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_base);
  __Pyx_XDECREF((PyObject *)__pyx_v_type_base);
  __Pyx_XDECREF(__pyx_v_shape);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1281
 *     return array_create(type_base, shape)
 * 
 * cdef TypeOpaqueID _c_opaque(dtype dt):             # <<<<<<<<<<<<<<
 *     # Opaque
 *     return TypeOpaqueID(H5Tcreate(H5T_OPAQUE, dt.itemsize))
 */

static struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_f_4h5py_3h5t__c_opaque(PyArray_Descr *__pyx_v_dt) {
  struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  hid_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_c_opaque", 0);

  /* "h5py/h5t.pyx":1283
 * cdef TypeOpaqueID _c_opaque(dtype dt):
 *     # Opaque
 *     return TypeOpaqueID(H5Tcreate(H5T_OPAQUE, dt.itemsize))             # <<<<<<<<<<<<<<
 * 
 * cdef TypeStringID _c_string(dtype dt):
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__itemsize); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_AsSize_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tcreate(H5T_OPAQUE, __pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeOpaqueID)), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5t._c_opaque", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1285
 *     return TypeOpaqueID(H5Tcreate(H5T_OPAQUE, dt.itemsize))
 * 
 * cdef TypeStringID _c_string(dtype dt):             # <<<<<<<<<<<<<<
 *     # Strings (fixed-length)
 *     cdef hid_t tid
 */

static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_string(PyArray_Descr *__pyx_v_dt) {
  hid_t __pyx_v_tid;
  struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  herr_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_c_string", 0);

  /* "h5py/h5t.pyx":1289
 *     cdef hid_t tid
 * 
 *     tid = H5Tcopy(H5T_C_S1)             # <<<<<<<<<<<<<<
 *     H5Tset_size(tid, dt.itemsize)
 *     H5Tset_strpad(tid, H5T_STR_NULLPAD)
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcopy(H5T_C_S1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_tid = __pyx_t_1;

  /* "h5py/h5t.pyx":1290
 * 
 *     tid = H5Tcopy(H5T_C_S1)
 *     H5Tset_size(tid, dt.itemsize)             # <<<<<<<<<<<<<<
 *     H5Tset_strpad(tid, H5T_STR_NULLPAD)
 *     return TypeStringID(tid)
 */
  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__itemsize); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_AsSize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tset_size(__pyx_v_tid, __pyx_t_3); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1291
 *     tid = H5Tcopy(H5T_C_S1)
 *     H5Tset_size(tid, dt.itemsize)
 *     H5Tset_strpad(tid, H5T_STR_NULLPAD)             # <<<<<<<<<<<<<<
 *     return TypeStringID(tid)
 * 
 */
  __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tset_strpad(__pyx_v_tid, H5T_STR_NULLPAD); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1292
 *     H5Tset_size(tid, dt.itemsize)
 *     H5Tset_strpad(tid, H5T_STR_NULLPAD)
 *     return TypeStringID(tid)             # <<<<<<<<<<<<<<
 * 
 * cdef TypeCompoundID _c_complex(dtype dt):
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeStringID)), ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_t_2);
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeStringID *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5t._c_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1294
 *     return TypeStringID(tid)
 * 
 * cdef TypeCompoundID _c_complex(dtype dt):             # <<<<<<<<<<<<<<
 *     # Complex numbers (names depend on cfg)
 *     global cfg
 */

static struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_f_4h5py_3h5t__c_complex(PyArray_Descr *__pyx_v_dt) {
  hid_t __pyx_v_tid;
  hid_t __pyx_v_tid_sub;
  size_t __pyx_v_size;
  size_t __pyx_v_off_r;
  size_t __pyx_v_off_i;
  size_t __pyx_v_length;
  char __pyx_v_byteorder;
  struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  char __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  hid_t __pyx_t_6;
  char *__pyx_t_7;
  herr_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_c_complex", 0);

  /* "h5py/h5t.pyx":1301
 *     cdef size_t size, off_r, off_i
 * 
 *     cdef size_t length = dt.itemsize             # <<<<<<<<<<<<<<
 *     cdef char byteorder = dt.byteorder
 * 
 */
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__itemsize); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_AsSize_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_length = __pyx_t_2;

  /* "h5py/h5t.pyx":1302
 * 
 *     cdef size_t length = dt.itemsize
 *     cdef char byteorder = dt.byteorder             # <<<<<<<<<<<<<<
 * 
 *     if length == 8:
 */
  __pyx_t_3 = __pyx_v_dt->byteorder;
  __pyx_v_byteorder = __pyx_t_3;

  /* "h5py/h5t.pyx":1314
 *         else:
 *             tid_sub = H5T_NATIVE_FLOAT
 *     elif length == 16:             # <<<<<<<<<<<<<<
 *         size = h5py_size_n128
 *         off_r = h5py_offset_n128_real
 */
  switch (__pyx_v_length) {

    /* "h5py/h5t.pyx":1304
 *     cdef char byteorder = dt.byteorder
 * 
 *     if length == 8:             # <<<<<<<<<<<<<<
 *         size = h5py_size_n64
 *         off_r = h5py_offset_n64_real
 */
    case 8:

    /* "h5py/h5t.pyx":1305
 * 
 *     if length == 8:
 *         size = h5py_size_n64             # <<<<<<<<<<<<<<
 *         off_r = h5py_offset_n64_real
 *         off_i = h5py_offset_n64_imag
 */
    __pyx_v_size = h5py_size_n64;

    /* "h5py/h5t.pyx":1306
 *     if length == 8:
 *         size = h5py_size_n64
 *         off_r = h5py_offset_n64_real             # <<<<<<<<<<<<<<
 *         off_i = h5py_offset_n64_imag
 *         if byteorder == c'<':
 */
    __pyx_v_off_r = h5py_offset_n64_real;

    /* "h5py/h5t.pyx":1307
 *         size = h5py_size_n64
 *         off_r = h5py_offset_n64_real
 *         off_i = h5py_offset_n64_imag             # <<<<<<<<<<<<<<
 *         if byteorder == c'<':
 *             tid_sub = H5T_IEEE_F32LE
 */
    __pyx_v_off_i = h5py_offset_n64_imag;

    /* "h5py/h5t.pyx":1308
 *         off_r = h5py_offset_n64_real
 *         off_i = h5py_offset_n64_imag
 *         if byteorder == c'<':             # <<<<<<<<<<<<<<
 *             tid_sub = H5T_IEEE_F32LE
 *         elif byteorder == c'>':
 */
    __pyx_t_4 = (__pyx_v_byteorder == '<');
    if (__pyx_t_4) {

      /* "h5py/h5t.pyx":1309
 *         off_i = h5py_offset_n64_imag
 *         if byteorder == c'<':
 *             tid_sub = H5T_IEEE_F32LE             # <<<<<<<<<<<<<<
 *         elif byteorder == c'>':
 *             tid_sub = H5T_IEEE_F32BE
 */
      __pyx_v_tid_sub = H5T_IEEE_F32LE;
      goto __pyx_L3;
    }

    /* "h5py/h5t.pyx":1310
 *         if byteorder == c'<':
 *             tid_sub = H5T_IEEE_F32LE
 *         elif byteorder == c'>':             # <<<<<<<<<<<<<<
 *             tid_sub = H5T_IEEE_F32BE
 *         else:
 */
    __pyx_t_4 = (__pyx_v_byteorder == '>');
    if (__pyx_t_4) {

      /* "h5py/h5t.pyx":1311
 *             tid_sub = H5T_IEEE_F32LE
 *         elif byteorder == c'>':
 *             tid_sub = H5T_IEEE_F32BE             # <<<<<<<<<<<<<<
 *         else:
 *             tid_sub = H5T_NATIVE_FLOAT
 */
      __pyx_v_tid_sub = H5T_IEEE_F32BE;
      goto __pyx_L3;
    }
    /*else*/ {

      /* "h5py/h5t.pyx":1313
 *             tid_sub = H5T_IEEE_F32BE
 *         else:
 *             tid_sub = H5T_NATIVE_FLOAT             # <<<<<<<<<<<<<<
 *     elif length == 16:
 *         size = h5py_size_n128
 */
      __pyx_v_tid_sub = H5T_NATIVE_FLOAT;
    }
    __pyx_L3:;
    break;

    /* "h5py/h5t.pyx":1314
 *         else:
 *             tid_sub = H5T_NATIVE_FLOAT
 *     elif length == 16:             # <<<<<<<<<<<<<<
 *         size = h5py_size_n128
 *         off_r = h5py_offset_n128_real
 */
    case 16:

    /* "h5py/h5t.pyx":1315
 *             tid_sub = H5T_NATIVE_FLOAT
 *     elif length == 16:
 *         size = h5py_size_n128             # <<<<<<<<<<<<<<
 *         off_r = h5py_offset_n128_real
 *         off_i = h5py_offset_n128_imag
 */
    __pyx_v_size = h5py_size_n128;

    /* "h5py/h5t.pyx":1316
 *     elif length == 16:
 *         size = h5py_size_n128
 *         off_r = h5py_offset_n128_real             # <<<<<<<<<<<<<<
 *         off_i = h5py_offset_n128_imag
 *         if byteorder == c'<':
 */
    __pyx_v_off_r = h5py_offset_n128_real;

    /* "h5py/h5t.pyx":1317
 *         size = h5py_size_n128
 *         off_r = h5py_offset_n128_real
 *         off_i = h5py_offset_n128_imag             # <<<<<<<<<<<<<<
 *         if byteorder == c'<':
 *             tid_sub = H5T_IEEE_F64LE
 */
    __pyx_v_off_i = h5py_offset_n128_imag;

    /* "h5py/h5t.pyx":1318
 *         off_r = h5py_offset_n128_real
 *         off_i = h5py_offset_n128_imag
 *         if byteorder == c'<':             # <<<<<<<<<<<<<<
 *             tid_sub = H5T_IEEE_F64LE
 *         elif byteorder == c'>':
 */
    __pyx_t_4 = (__pyx_v_byteorder == '<');
    if (__pyx_t_4) {

      /* "h5py/h5t.pyx":1319
 *         off_i = h5py_offset_n128_imag
 *         if byteorder == c'<':
 *             tid_sub = H5T_IEEE_F64LE             # <<<<<<<<<<<<<<
 *         elif byteorder == c'>':
 *             tid_sub = H5T_IEEE_F64BE
 */
      __pyx_v_tid_sub = H5T_IEEE_F64LE;
      goto __pyx_L4;
    }

    /* "h5py/h5t.pyx":1320
 *         if byteorder == c'<':
 *             tid_sub = H5T_IEEE_F64LE
 *         elif byteorder == c'>':             # <<<<<<<<<<<<<<
 *             tid_sub = H5T_IEEE_F64BE
 *         else:
 */
    __pyx_t_4 = (__pyx_v_byteorder == '>');
    if (__pyx_t_4) {

      /* "h5py/h5t.pyx":1321
 *             tid_sub = H5T_IEEE_F64LE
 *         elif byteorder == c'>':
 *             tid_sub = H5T_IEEE_F64BE             # <<<<<<<<<<<<<<
 *         else:
 *             tid_sub = H5T_NATIVE_DOUBLE
 */
      __pyx_v_tid_sub = H5T_IEEE_F64BE;
      goto __pyx_L4;
    }
    /*else*/ {

      /* "h5py/h5t.pyx":1323
 *             tid_sub = H5T_IEEE_F64BE
 *         else:
 *             tid_sub = H5T_NATIVE_DOUBLE             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Illegal length %d for complex dtype" % length)
 */
      __pyx_v_tid_sub = H5T_NATIVE_DOUBLE;
    }
    __pyx_L4:;
    break;
    default:

    /* "h5py/h5t.pyx":1325
 *             tid_sub = H5T_NATIVE_DOUBLE
 *     else:
 *         raise TypeError("Illegal length %d for complex dtype" % length)             # <<<<<<<<<<<<<<
 * 
 *     tid = H5Tcreate(H5T_COMPOUND, size)
 */
    __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_length); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_30), __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_5));
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_t_5));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_5));
    __pyx_t_5 = 0;
    __pyx_t_5 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    break;
  }

  /* "h5py/h5t.pyx":1327
 *         raise TypeError("Illegal length %d for complex dtype" % length)
 * 
 *     tid = H5Tcreate(H5T_COMPOUND, size)             # <<<<<<<<<<<<<<
 *     H5Tinsert(tid, cfg._r_name, off_r, tid_sub)
 *     H5Tinsert(tid, cfg._i_name, off_i, tid_sub)
 */
  __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tcreate(H5T_COMPOUND, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_tid = __pyx_t_6;

  /* "h5py/h5t.pyx":1328
 * 
 *     tid = H5Tcreate(H5T_COMPOUND, size)
 *     H5Tinsert(tid, cfg._r_name, off_r, tid_sub)             # <<<<<<<<<<<<<<
 *     H5Tinsert(tid, cfg._i_name, off_i, tid_sub)
 * 
 */
  __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s___r_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_7 = PyBytes_AsString(__pyx_t_1); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_8 = __pyx_f_4h5py_4defs_H5Tinsert(__pyx_v_tid, __pyx_t_7, __pyx_v_off_r, __pyx_v_tid_sub); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1329
 *     tid = H5Tcreate(H5T_COMPOUND, size)
 *     H5Tinsert(tid, cfg._r_name, off_r, tid_sub)
 *     H5Tinsert(tid, cfg._i_name, off_i, tid_sub)             # <<<<<<<<<<<<<<
 * 
 *     return TypeCompoundID(tid)
 */
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s___i_name); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_7 = PyBytes_AsString(__pyx_t_5); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_8 = __pyx_f_4h5py_4defs_H5Tinsert(__pyx_v_tid, __pyx_t_7, __pyx_v_off_i, __pyx_v_tid_sub); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1331
 *     H5Tinsert(tid, cfg._i_name, off_i, tid_sub)
 * 
 *     return TypeCompoundID(tid)             # <<<<<<<<<<<<<<
 * 
 * cdef TypeCompoundID _c_compound(dtype dt, int logical):
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeCompoundID)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_t_5);
  __pyx_t_5 = 0;
  goto __pyx_L0;

  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5t._c_complex", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1333
 *     return TypeCompoundID(tid)
 * 
 * cdef TypeCompoundID _c_compound(dtype dt, int logical):             # <<<<<<<<<<<<<<
 *     # Compound datatypes
 * 
 */

static struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_f_4h5py_3h5t__c_compound(PyArray_Descr *__pyx_v_dt, int __pyx_v_logical) {
  hid_t __pyx_v_tid;
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_type_tmp = 0;
  PyArray_Descr *__pyx_v_dt_tmp = 0;
  size_t __pyx_v_offset;
  CYTHON_UNUSED PyObject *__pyx_v_fields = 0;
  PyObject *__pyx_v_names = 0;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_ename = NULL;
  struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  hid_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  herr_t __pyx_t_10;
  char *__pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_c_compound", 0);

  /* "h5py/h5t.pyx":1341
 *     cdef size_t offset
 * 
 *     cdef dict fields = dt.fields             # <<<<<<<<<<<<<<
 *     cdef tuple names = dt.names
 * 
 */
  if (!(likely(PyDict_CheckExact(__pyx_v_dt->fields))||((__pyx_v_dt->fields) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected dict, got %.200s", Py_TYPE(__pyx_v_dt->fields)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_INCREF(__pyx_v_dt->fields);
  __pyx_v_fields = ((PyObject*)__pyx_v_dt->fields);

  /* "h5py/h5t.pyx":1342
 * 
 *     cdef dict fields = dt.fields
 *     cdef tuple names = dt.names             # <<<<<<<<<<<<<<
 * 
 *     # Initial size MUST be 1 to avoid segfaults (issue 166)
 */
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__names); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_names = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":1345
 * 
 *     # Initial size MUST be 1 to avoid segfaults (issue 166)
 *     tid = H5Tcreate(H5T_COMPOUND, 1)             # <<<<<<<<<<<<<<
 * 
 *     offset = 0
 */
  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tcreate(H5T_COMPOUND, 1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_tid = __pyx_t_2;

  /* "h5py/h5t.pyx":1347
 *     tid = H5Tcreate(H5T_COMPOUND, 1)
 * 
 *     offset = 0             # <<<<<<<<<<<<<<
 *     for name in names:
 *         ename = name.encode('utf8') if isinstance(name, unicode) else name
 */
  __pyx_v_offset = 0;

  /* "h5py/h5t.pyx":1348
 * 
 *     offset = 0
 *     for name in names:             # <<<<<<<<<<<<<<
 *         ename = name.encode('utf8') if isinstance(name, unicode) else name
 *         dt_tmp = dt.fields[name][0]
 */
  if (unlikely(((PyObject *)__pyx_v_names) == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_t_1 = ((PyObject *)__pyx_v_names); __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0;
  for (;;) {
    if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
    #if CYTHON_COMPILING_IN_CPYTHON
    __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_4); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    #else
    __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    #endif
    __Pyx_XDECREF(__pyx_v_name);
    __pyx_v_name = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "h5py/h5t.pyx":1349
 *     offset = 0
 *     for name in names:
 *         ename = name.encode('utf8') if isinstance(name, unicode) else name             # <<<<<<<<<<<<<<
 *         dt_tmp = dt.fields[name][0]
 *         type_tmp = py_create(dt_tmp, logical=logical)
 */
    __pyx_t_5 = PyUnicode_Check(__pyx_v_name); 
    if (__pyx_t_5) {
      __pyx_t_6 = PyObject_GetAttr(__pyx_v_name, __pyx_n_s__encode); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_k_tuple_31), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_4 = __pyx_t_7;
      __pyx_t_7 = 0;
    } else {
      __Pyx_INCREF(__pyx_v_name);
      __pyx_t_4 = __pyx_v_name;
    }
    __Pyx_XDECREF(__pyx_v_ename);
    __pyx_v_ename = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "h5py/h5t.pyx":1350
 *     for name in names:
 *         ename = name.encode('utf8') if isinstance(name, unicode) else name
 *         dt_tmp = dt.fields[name][0]             # <<<<<<<<<<<<<<
 *         type_tmp = py_create(dt_tmp, logical=logical)
 *         H5Tset_size(tid, offset+type_tmp.get_size())
 */
    __pyx_t_4 = PyObject_GetItem(__pyx_v_dt->fields, __pyx_v_name); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_4, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_4h5py_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_XDECREF(((PyObject *)__pyx_v_dt_tmp));
    __pyx_v_dt_tmp = ((PyArray_Descr *)__pyx_t_7);
    __pyx_t_7 = 0;

    /* "h5py/h5t.pyx":1351
 *         ename = name.encode('utf8') if isinstance(name, unicode) else name
 *         dt_tmp = dt.fields[name][0]
 *         type_tmp = py_create(dt_tmp, logical=logical)             # <<<<<<<<<<<<<<
 *         H5Tset_size(tid, offset+type_tmp.get_size())
 *         H5Tinsert(tid, ename, offset, type_tmp.id)
 */
    __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__py_create); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)__pyx_v_dt_tmp));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_dt_tmp));
    __Pyx_GIVEREF(((PyObject *)__pyx_v_dt_tmp));
    __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_6));
    __pyx_t_8 = PyInt_FromLong(__pyx_v_logical); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_8);
    if (PyDict_SetItem(__pyx_t_6, ((PyObject *)__pyx_n_s__logical), __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_t_4), ((PyObject *)__pyx_t_6)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
    __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
    if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_XDECREF(((PyObject *)__pyx_v_type_tmp));
    __pyx_v_type_tmp = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_8);
    __pyx_t_8 = 0;

    /* "h5py/h5t.pyx":1352
 *         dt_tmp = dt.fields[name][0]
 *         type_tmp = py_create(dt_tmp, logical=logical)
 *         H5Tset_size(tid, offset+type_tmp.get_size())             # <<<<<<<<<<<<<<
 *         H5Tinsert(tid, ename, offset, type_tmp.id)
 *         offset += type_tmp.get_size()
 */
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_offset); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_type_tmp), __pyx_n_s__get_size); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyNumber_Add(__pyx_t_8, __pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_6); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_10 = __pyx_f_4h5py_4defs_H5Tset_size(__pyx_v_tid, __pyx_t_9); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

    /* "h5py/h5t.pyx":1353
 *         type_tmp = py_create(dt_tmp, logical=logical)
 *         H5Tset_size(tid, offset+type_tmp.get_size())
 *         H5Tinsert(tid, ename, offset, type_tmp.id)             # <<<<<<<<<<<<<<
 *         offset += type_tmp.get_size()
 * 
 */
    __pyx_t_11 = PyBytes_AsString(__pyx_v_ename); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_10 = __pyx_f_4h5py_4defs_H5Tinsert(__pyx_v_tid, __pyx_t_11, __pyx_v_offset, __pyx_v_type_tmp->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

    /* "h5py/h5t.pyx":1354
 *         H5Tset_size(tid, offset+type_tmp.get_size())
 *         H5Tinsert(tid, ename, offset, type_tmp.id)
 *         offset += type_tmp.get_size()             # <<<<<<<<<<<<<<
 * 
 *     return TypeCompoundID(tid)
 */
    __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_offset); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_type_tmp), __pyx_n_s__get_size); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_4); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_offset = __pyx_t_9;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "h5py/h5t.pyx":1356
 *         offset += type_tmp.get_size()
 * 
 *     return TypeCompoundID(tid)             # <<<<<<<<<<<<<<
 * 
 * cdef TypeStringID _c_vlen_str():
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeCompoundID)), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("h5py.h5t._c_compound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_type_tmp);
  __Pyx_XDECREF((PyObject *)__pyx_v_dt_tmp);
  __Pyx_XDECREF(__pyx_v_fields);
  __Pyx_XDECREF(__pyx_v_names);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_ename);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1358
 *     return TypeCompoundID(tid)
 * 
 * cdef TypeStringID _c_vlen_str():             # <<<<<<<<<<<<<<
 *     # Variable-length strings
 *     cdef hid_t tid
 */

static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_vlen_str(void) {
  hid_t __pyx_v_tid;
  struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  herr_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_c_vlen_str", 0);

  /* "h5py/h5t.pyx":1361
 *     # Variable-length strings
 *     cdef hid_t tid
 *     tid = H5Tcopy(H5T_C_S1)             # <<<<<<<<<<<<<<
 *     H5Tset_size(tid, H5T_VARIABLE)
 *     return TypeStringID(tid)
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcopy(H5T_C_S1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_tid = __pyx_t_1;

  /* "h5py/h5t.pyx":1362
 *     cdef hid_t tid
 *     tid = H5Tcopy(H5T_C_S1)
 *     H5Tset_size(tid, H5T_VARIABLE)             # <<<<<<<<<<<<<<
 *     return TypeStringID(tid)
 * 
 */
  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tset_size(__pyx_v_tid, H5T_VARIABLE); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1363
 *     tid = H5Tcopy(H5T_C_S1)
 *     H5Tset_size(tid, H5T_VARIABLE)
 *     return TypeStringID(tid)             # <<<<<<<<<<<<<<
 * 
 * cdef TypeStringID _c_vlen_unicode():
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  __pyx_t_3 = 0;
  __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeStringID)), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_t_3);
  __pyx_t_3 = 0;
  goto __pyx_L0;

  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeStringID *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5t._c_vlen_str", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1365
 *     return TypeStringID(tid)
 * 
 * cdef TypeStringID _c_vlen_unicode():             # <<<<<<<<<<<<<<
 *     cdef hid_t tid
 *     tid = H5Tcopy(H5T_C_S1)
 */

static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_vlen_unicode(void) {
  hid_t __pyx_v_tid;
  struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  herr_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_c_vlen_unicode", 0);

  /* "h5py/h5t.pyx":1367
 * cdef TypeStringID _c_vlen_unicode():
 *     cdef hid_t tid
 *     tid = H5Tcopy(H5T_C_S1)             # <<<<<<<<<<<<<<
 *     H5Tset_size(tid, H5T_VARIABLE)
 *     H5Tset_cset(tid, H5T_CSET_UTF8)
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcopy(H5T_C_S1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_tid = __pyx_t_1;

  /* "h5py/h5t.pyx":1368
 *     cdef hid_t tid
 *     tid = H5Tcopy(H5T_C_S1)
 *     H5Tset_size(tid, H5T_VARIABLE)             # <<<<<<<<<<<<<<
 *     H5Tset_cset(tid, H5T_CSET_UTF8)
 *     return TypeStringID(tid)
 */
  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tset_size(__pyx_v_tid, H5T_VARIABLE); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1369
 *     tid = H5Tcopy(H5T_C_S1)
 *     H5Tset_size(tid, H5T_VARIABLE)
 *     H5Tset_cset(tid, H5T_CSET_UTF8)             # <<<<<<<<<<<<<<
 *     return TypeStringID(tid)
 * 
 */
  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tset_cset(__pyx_v_tid, ((H5T_cset_t)H5T_CSET_UTF8)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1370
 *     H5Tset_size(tid, H5T_VARIABLE)
 *     H5Tset_cset(tid, H5T_CSET_UTF8)
 *     return TypeStringID(tid)             # <<<<<<<<<<<<<<
 * 
 * cdef TypeReferenceID _c_ref(object refclass):
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  __pyx_t_3 = 0;
  __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeStringID)), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_t_3);
  __pyx_t_3 = 0;
  goto __pyx_L0;

  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeStringID *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5t._c_vlen_unicode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1372
 *     return TypeStringID(tid)
 * 
 * cdef TypeReferenceID _c_ref(object refclass):             # <<<<<<<<<<<<<<
 *     if refclass is Reference:
 *         return STD_REF_OBJ
 */

static struct __pyx_obj_4h5py_3h5t_TypeReferenceID *__pyx_f_4h5py_3h5t__c_ref(PyObject *__pyx_v_refclass) {
  struct __pyx_obj_4h5py_3h5t_TypeReferenceID *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_c_ref", 0);

  /* "h5py/h5t.pyx":1373
 * 
 * cdef TypeReferenceID _c_ref(object refclass):
 *     if refclass is Reference:             # <<<<<<<<<<<<<<
 *         return STD_REF_OBJ
 *     elif refclass is RegionReference:
 */
  __pyx_t_1 = (__pyx_v_refclass == ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_Reference)));
  if (__pyx_t_1) {

    /* "h5py/h5t.pyx":1374
 * cdef TypeReferenceID _c_ref(object refclass):
 *     if refclass is Reference:
 *         return STD_REF_OBJ             # <<<<<<<<<<<<<<
 *     elif refclass is RegionReference:
 *         return STD_REF_DSETREG
 */
    __Pyx_XDECREF(((PyObject *)__pyx_r));
    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__STD_REF_OBJ); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5t_TypeReferenceID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeReferenceID *)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L0;
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":1375
 *     if refclass is Reference:
 *         return STD_REF_OBJ
 *     elif refclass is RegionReference:             # <<<<<<<<<<<<<<
 *         return STD_REF_DSETREG
 *     raise TypeError("Unrecognized reference code")
 */
  __pyx_t_1 = (__pyx_v_refclass == ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_RegionReference)));
  if (__pyx_t_1) {

    /* "h5py/h5t.pyx":1376
 *         return STD_REF_OBJ
 *     elif refclass is RegionReference:
 *         return STD_REF_DSETREG             # <<<<<<<<<<<<<<
 *     raise TypeError("Unrecognized reference code")
 * 
 */
    __Pyx_XDECREF(((PyObject *)__pyx_r));
    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__STD_REF_DSETREG); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5t_TypeReferenceID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeReferenceID *)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L0;
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":1377
 *     elif refclass is RegionReference:
 *         return STD_REF_DSETREG
 *     raise TypeError("Unrecognized reference code")             # <<<<<<<<<<<<<<
 * 
 * cpdef TypeID py_create(object dtype_in, bint logical=0):
 */
  __pyx_t_2 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_33), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeReferenceID *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5t._c_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1379
 *     raise TypeError("Unrecognized reference code")
 * 
 * cpdef TypeID py_create(object dtype_in, bint logical=0):             # <<<<<<<<<<<<<<
 *     """(OBJECT dtype_in, BOOL logical=False) => TypeID
 * 
 */

static PyObject *__pyx_pw_4h5py_3h5t_15py_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_f_4h5py_3h5t_py_create(PyObject *__pyx_v_dtype_in, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args) {
  int __pyx_v_logical = ((int)0);
  PyArray_Descr *__pyx_v_dt = 0;
  char __pyx_v_kind;
  PyObject *__pyx_v_enum_vals = NULL;
  PyObject *__pyx_v_vlen = NULL;
  PyObject *__pyx_v_refclass = NULL;
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  char __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_create", 0);
  if (__pyx_optional_args) {
    if (__pyx_optional_args->__pyx_n > 0) {
      __pyx_v_logical = __pyx_optional_args->logical;
    }
  }

  /* "h5py/h5t.pyx":1396
 *         length string type.
 *     """
 *     cdef dtype dt = dtype(dtype_in)             # <<<<<<<<<<<<<<
 *     cdef char kind = dt.kind
 * 
 */
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_dtype_in);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_dtype_in);
  __Pyx_GIVEREF(__pyx_v_dtype_in);
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
  __pyx_v_dt = ((PyArray_Descr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "h5py/h5t.pyx":1397
 *     """
 *     cdef dtype dt = dtype(dtype_in)
 *     cdef char kind = dt.kind             # <<<<<<<<<<<<<<
 * 
 *     # Float
 */
  __pyx_t_3 = __pyx_v_dt->kind;
  __pyx_v_kind = __pyx_t_3;

  /* "h5py/h5t.pyx":1400
 * 
 *     # Float
 *     if kind == c'f':             # <<<<<<<<<<<<<<
 *         return _c_float(dt)
 * 
 */
  __pyx_t_4 = (__pyx_v_kind == 'f');
  if (__pyx_t_4) {

    /* "h5py/h5t.pyx":1401
 *     # Float
 *     if kind == c'f':
 *         return _c_float(dt)             # <<<<<<<<<<<<<<
 * 
 *     # Integer
 */
    __Pyx_XDECREF(((PyObject *)__pyx_r));
    __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t__c_float(__pyx_v_dt)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L0;
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":1404
 * 
 *     # Integer
 *     elif kind == c'u' or kind == c'i':             # <<<<<<<<<<<<<<
 * 
 *         if logical:
 */
  switch (__pyx_v_kind) {
    case 'u':
    case 'i':
    __pyx_t_4 = 1;
    break;
    default:
    __pyx_t_4 = 0;
    break;
  }
  if (__pyx_t_4) {

    /* "h5py/h5t.pyx":1406
 *     elif kind == c'u' or kind == c'i':
 * 
 *         if logical:             # <<<<<<<<<<<<<<
 *             # Check for an enumeration hint
 *             enum_vals = check_dtype(enum=dt)
 */
    if (__pyx_v_logical) {

      /* "h5py/h5t.pyx":1408
 *         if logical:
 *             # Check for an enumeration hint
 *             enum_vals = check_dtype(enum=dt)             # <<<<<<<<<<<<<<
 *             if enum_vals is not None:
 *                 return _c_enum(dt, enum_vals)
 */
      __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__check_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(((PyObject *)__pyx_t_1));
      if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__enum), ((PyObject *)__pyx_v_dt)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __pyx_t_5 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
      __pyx_v_enum_vals = __pyx_t_5;
      __pyx_t_5 = 0;

      /* "h5py/h5t.pyx":1409
 *             # Check for an enumeration hint
 *             enum_vals = check_dtype(enum=dt)
 *             if enum_vals is not None:             # <<<<<<<<<<<<<<
 *                 return _c_enum(dt, enum_vals)
 * 
 */
      __pyx_t_4 = (__pyx_v_enum_vals != Py_None);
      if (__pyx_t_4) {

        /* "h5py/h5t.pyx":1410
 *             enum_vals = check_dtype(enum=dt)
 *             if enum_vals is not None:
 *                 return _c_enum(dt, enum_vals)             # <<<<<<<<<<<<<<
 * 
 *         return _c_int(dt)
 */
        __Pyx_XDECREF(((PyObject *)__pyx_r));
        if (!(likely(PyDict_CheckExact(__pyx_v_enum_vals))||((__pyx_v_enum_vals) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected dict, got %.200s", Py_TYPE(__pyx_v_enum_vals)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_enum(__pyx_v_dt, ((PyObject*)__pyx_v_enum_vals))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
        __pyx_t_5 = 0;
        goto __pyx_L0;
        goto __pyx_L5;
      }
      __pyx_L5:;
      goto __pyx_L4;
    }
    __pyx_L4:;

    /* "h5py/h5t.pyx":1412
 *                 return _c_enum(dt, enum_vals)
 * 
 *         return _c_int(dt)             # <<<<<<<<<<<<<<
 * 
 *     # Complex
 */
    __Pyx_XDECREF(((PyObject *)__pyx_r));
    __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_int(__pyx_v_dt)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
    __pyx_t_5 = 0;
    goto __pyx_L0;
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":1415
 * 
 *     # Complex
 *     elif kind == c'c':             # <<<<<<<<<<<<<<
 *         return _c_complex(dt)
 * 
 */
  __pyx_t_4 = (__pyx_v_kind == 'c');
  if (__pyx_t_4) {

    /* "h5py/h5t.pyx":1416
 *     # Complex
 *     elif kind == c'c':
 *         return _c_complex(dt)             # <<<<<<<<<<<<<<
 * 
 *     # Compound
 */
    __Pyx_XDECREF(((PyObject *)__pyx_r));
    __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_complex(__pyx_v_dt)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
    __pyx_t_5 = 0;
    goto __pyx_L0;
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":1419
 * 
 *     # Compound
 *     elif kind == c'V' and dt.names is not None:             # <<<<<<<<<<<<<<
 *         return _c_compound(dt, logical)
 * 
 */
  __pyx_t_4 = (__pyx_v_kind == 'V');
  if (__pyx_t_4) {
    __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__names); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = (__pyx_t_5 != Py_None);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = __pyx_t_6;
  } else {
    __pyx_t_7 = __pyx_t_4;
  }
  if (__pyx_t_7) {

    /* "h5py/h5t.pyx":1420
 *     # Compound
 *     elif kind == c'V' and dt.names is not None:
 *         return _c_compound(dt, logical)             # <<<<<<<<<<<<<<
 * 
 *     # Array or opaque
 */
    __Pyx_XDECREF(((PyObject *)__pyx_r));
    __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_compound(__pyx_v_dt, __pyx_v_logical)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
    __pyx_t_5 = 0;
    goto __pyx_L0;
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":1423
 * 
 *     # Array or opaque
 *     elif kind == c'V':             # <<<<<<<<<<<<<<
 *         if dt.subdtype is not None:
 *             return _c_array(dt, logical)
 */
  __pyx_t_7 = (__pyx_v_kind == 'V');
  if (__pyx_t_7) {

    /* "h5py/h5t.pyx":1424
 *     # Array or opaque
 *     elif kind == c'V':
 *         if dt.subdtype is not None:             # <<<<<<<<<<<<<<
 *             return _c_array(dt, logical)
 *         else:
 */
    __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__subdtype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_7 = (__pyx_t_5 != Py_None);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (__pyx_t_7) {

      /* "h5py/h5t.pyx":1425
 *     elif kind == c'V':
 *         if dt.subdtype is not None:
 *             return _c_array(dt, logical)             # <<<<<<<<<<<<<<
 *         else:
 *             return _c_opaque(dt)
 */
      __Pyx_XDECREF(((PyObject *)__pyx_r));
      __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_array(__pyx_v_dt, __pyx_v_logical)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
      __pyx_t_5 = 0;
      goto __pyx_L0;
      goto __pyx_L6;
    }
    /*else*/ {

      /* "h5py/h5t.pyx":1427
 *             return _c_array(dt, logical)
 *         else:
 *             return _c_opaque(dt)             # <<<<<<<<<<<<<<
 * 
 *     # String
 */
      __Pyx_XDECREF(((PyObject *)__pyx_r));
      __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_opaque(__pyx_v_dt)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
      __pyx_t_5 = 0;
      goto __pyx_L0;
    }
    __pyx_L6:;
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":1430
 * 
 *     # String
 *     elif kind == c'S':             # <<<<<<<<<<<<<<
 *         return _c_string(dt)
 * 
 */
  __pyx_t_7 = (__pyx_v_kind == 'S');
  if (__pyx_t_7) {

    /* "h5py/h5t.pyx":1431
 *     # String
 *     elif kind == c'S':
 *         return _c_string(dt)             # <<<<<<<<<<<<<<
 * 
 *     # Boolean
 */
    __Pyx_XDECREF(((PyObject *)__pyx_r));
    __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_string(__pyx_v_dt)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
    __pyx_t_5 = 0;
    goto __pyx_L0;
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":1434
 * 
 *     # Boolean
 *     elif kind == c'b':             # <<<<<<<<<<<<<<
 *         return _c_bool(dt)
 * 
 */
  __pyx_t_7 = (__pyx_v_kind == 'b');
  if (__pyx_t_7) {

    /* "h5py/h5t.pyx":1435
 *     # Boolean
 *     elif kind == c'b':
 *         return _c_bool(dt)             # <<<<<<<<<<<<<<
 * 
 *     # Object types (including those with vlen hints)
 */
    __Pyx_XDECREF(((PyObject *)__pyx_r));
    __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_bool(__pyx_v_dt)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
    __pyx_t_5 = 0;
    goto __pyx_L0;
    goto __pyx_L3;
  }

  /* "h5py/h5t.pyx":1438
 * 
 *     # Object types (including those with vlen hints)
 *     elif kind == c'O':             # <<<<<<<<<<<<<<
 * 
 *         if logical:
 */
  __pyx_t_7 = (__pyx_v_kind == 'O');
  if (__pyx_t_7) {

    /* "h5py/h5t.pyx":1440
 *     elif kind == c'O':
 * 
 *         if logical:             # <<<<<<<<<<<<<<
 *             vlen = check_dtype(vlen=dt)
 *             if vlen is bytes:
 */
    if (__pyx_v_logical) {

      /* "h5py/h5t.pyx":1441
 * 
 *         if logical:
 *             vlen = check_dtype(vlen=dt)             # <<<<<<<<<<<<<<
 *             if vlen is bytes:
 *                 return _c_vlen_str()
 */
      __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__check_dtype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(((PyObject *)__pyx_t_1));
      if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__vlen), ((PyObject *)__pyx_v_dt)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __pyx_t_2 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
      __pyx_v_vlen = __pyx_t_2;
      __pyx_t_2 = 0;

      /* "h5py/h5t.pyx":1442
 *         if logical:
 *             vlen = check_dtype(vlen=dt)
 *             if vlen is bytes:             # <<<<<<<<<<<<<<
 *                 return _c_vlen_str()
 *             elif vlen is unicode:
 */
      __pyx_t_7 = (__pyx_v_vlen == ((PyObject *)((PyObject*)(&PyBytes_Type))));
      if (__pyx_t_7) {

        /* "h5py/h5t.pyx":1443
 *             vlen = check_dtype(vlen=dt)
 *             if vlen is bytes:
 *                 return _c_vlen_str()             # <<<<<<<<<<<<<<
 *             elif vlen is unicode:
 *                 return _c_vlen_unicode()
 */
        __Pyx_XDECREF(((PyObject *)__pyx_r));
        __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t__c_vlen_str()); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_2);
        __pyx_t_2 = 0;
        goto __pyx_L0;
        goto __pyx_L8;
      }

      /* "h5py/h5t.pyx":1444
 *             if vlen is bytes:
 *                 return _c_vlen_str()
 *             elif vlen is unicode:             # <<<<<<<<<<<<<<
 *                 return _c_vlen_unicode()
 * 
 */
      __pyx_t_7 = (__pyx_v_vlen == ((PyObject *)((PyObject*)(&PyUnicode_Type))));
      if (__pyx_t_7) {

        /* "h5py/h5t.pyx":1445
 *                 return _c_vlen_str()
 *             elif vlen is unicode:
 *                 return _c_vlen_unicode()             # <<<<<<<<<<<<<<
 * 
 *             refclass = check_dtype(ref=dt)
 */
        __Pyx_XDECREF(((PyObject *)__pyx_r));
        __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t__c_vlen_unicode()); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_2);
        __pyx_t_2 = 0;
        goto __pyx_L0;
        goto __pyx_L8;
      }
      __pyx_L8:;

      /* "h5py/h5t.pyx":1447
 *                 return _c_vlen_unicode()
 * 
 *             refclass = check_dtype(ref=dt)             # <<<<<<<<<<<<<<
 *             if refclass is not None:
 *                     return _c_ref(refclass)
 */
      __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__check_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(((PyObject *)__pyx_t_1));
      if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__ref), ((PyObject *)__pyx_v_dt)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __pyx_t_5 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
      __pyx_v_refclass = __pyx_t_5;
      __pyx_t_5 = 0;

      /* "h5py/h5t.pyx":1448
 * 
 *             refclass = check_dtype(ref=dt)
 *             if refclass is not None:             # <<<<<<<<<<<<<<
 *                     return _c_ref(refclass)
 * 
 */
      __pyx_t_7 = (__pyx_v_refclass != Py_None);
      if (__pyx_t_7) {

        /* "h5py/h5t.pyx":1449
 *             refclass = check_dtype(ref=dt)
 *             if refclass is not None:
 *                     return _c_ref(refclass)             # <<<<<<<<<<<<<<
 * 
 *             raise TypeError("Object dtype %r has no native HDF5 equivalent" % (dt,))
 */
        __Pyx_XDECREF(((PyObject *)__pyx_r));
        __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_ref(__pyx_v_refclass)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
        __pyx_t_5 = 0;
        goto __pyx_L0;
        goto __pyx_L9;
      }
      __pyx_L9:;

      /* "h5py/h5t.pyx":1451
 *                     return _c_ref(refclass)
 * 
 *             raise TypeError("Object dtype %r has no native HDF5 equivalent" % (dt,))             # <<<<<<<<<<<<<<
 * 
 *         return PYTHON_OBJECT
 */
      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(((PyObject *)__pyx_v_dt));
      PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_dt));
      __Pyx_GIVEREF(((PyObject *)__pyx_v_dt));
      __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_34), ((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(((PyObject *)__pyx_t_1));
      __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_1));
      __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
      __pyx_t_1 = 0;
      __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      goto __pyx_L7;
    }
    __pyx_L7:;

    /* "h5py/h5t.pyx":1453
 *             raise TypeError("Object dtype %r has no native HDF5 equivalent" % (dt,))
 * 
 *         return PYTHON_OBJECT             # <<<<<<<<<<<<<<
 * 
 *     # Unrecognized
 */
    __Pyx_XDECREF(((PyObject *)__pyx_r));
    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__PYTHON_OBJECT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1);
    __pyx_t_1 = 0;
    goto __pyx_L0;
    goto __pyx_L3;
  }
  /*else*/ {

    /* "h5py/h5t.pyx":1457
 *     # Unrecognized
 *     else:
 *         raise TypeError("No conversion path for dtype: %s" % repr(dt))             # <<<<<<<<<<<<<<
 * 
 * def special_dtype(**kwds):
 */
    __pyx_t_1 = PyObject_Repr(((PyObject *)__pyx_v_dt)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_35), __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_5));
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_t_5));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_5));
    __pyx_t_5 = 0;
    __pyx_t_5 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_L3:;

  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5t.py_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_dt);
  __Pyx_XDECREF(__pyx_v_enum_vals);
  __Pyx_XDECREF(__pyx_v_vlen);
  __Pyx_XDECREF(__pyx_v_refclass);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_15py_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5t_14py_create[] = "(OBJECT dtype_in, BOOL logical=False) => TypeID\n\n    Given a Numpy dtype object, generate a byte-for-byte memory-compatible\n    HDF5 datatype object.  The result is guaranteed to be transient and\n    unlocked.\n\n    Argument dtype_in may be a dtype object, or anything which can be\n    converted to a dtype, including strings like '<i4'.\n\n    logical\n        If this flag is set, instead of returning a byte-for-byte identical\n        representation of the type, the function returns the closest logically\n        appropriate HDF5 type.  For example, in the case of a \"hinted\" dtype\n        of kind \"O\" representing a string, it would return an HDF5 variable-\n        length string type.\n    ";
static PyObject *__pyx_pw_4h5py_3h5t_15py_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dtype_in = 0;
  int __pyx_v_logical;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("py_create (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dtype_in,&__pyx_n_s__logical,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dtype_in)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__logical);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "py_create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_dtype_in = values[0];
    if (values[1]) {
      __pyx_v_logical = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_logical == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    } else {
      __pyx_v_logical = ((int)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("py_create", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.py_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5t_14py_create(__pyx_self, __pyx_v_dtype_in, __pyx_v_logical);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1379
 *     raise TypeError("Unrecognized reference code")
 * 
 * cpdef TypeID py_create(object dtype_in, bint logical=0):             # <<<<<<<<<<<<<<
 *     """(OBJECT dtype_in, BOOL logical=False) => TypeID
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_14py_create(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dtype_in, int __pyx_v_logical) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_opt_args_4h5py_3h5t_py_create __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_create", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2.__pyx_n = 1;
  __pyx_t_2.logical = __pyx_v_logical;
  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_v_dtype_in, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5t.py_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_17special_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5t_16special_dtype[] = " Create a new h5py \"special\" type.  Only one keyword may be given.\n\n    Legal keywords are:\n\n    vlen = basetype\n        Base type for HDF5 variable-length datatype.  Currently only the\n        builtin string class (str) is allowed.\n        Example: special_dtype( vlen=str )\n\n    enum = (basetype, values_dict)\n        Create a NumPy representation of an HDF5 enumerated type.  Provide\n        a 2-tuple containing an (integer) base dtype and a dict mapping\n        string names to integer values.\n\n    ref = Reference | RegionReference\n        Create a NumPy representation of an HDF5 object or region reference\n        type.\n    ";
static PyMethodDef __pyx_mdef_4h5py_3h5t_17special_dtype = {__Pyx_NAMESTR("special_dtype"), (PyCFunction)__pyx_pw_4h5py_3h5t_17special_dtype, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_16special_dtype)};
static PyObject *__pyx_pw_4h5py_3h5t_17special_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_kwds = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("special_dtype (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("special_dtype", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;}
  if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "special_dtype", 1))) return NULL;
  __pyx_v_kwds = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
  if (unlikely(!__pyx_v_kwds)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwds);
  __pyx_r = __pyx_pf_4h5py_3h5t_16special_dtype(__pyx_self, __pyx_v_kwds);
  __Pyx_XDECREF(__pyx_v_kwds);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1459
 *         raise TypeError("No conversion path for dtype: %s" % repr(dt))
 * 
 * def special_dtype(**kwds):             # <<<<<<<<<<<<<<
 *     """ Create a new h5py "special" type.  Only one keyword may be given.
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_16special_dtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kwds) {
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_val = NULL;
  PyObject *__pyx_v_dt = NULL;
  PyObject *__pyx_v_enum_vals = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *(*__pyx_t_7)(PyObject *);
  int __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("special_dtype", 0);

  /* "h5py/h5t.pyx":1479
 *     """
 * 
 *     if len(kwds) != 1:             # <<<<<<<<<<<<<<
 *         raise TypeError("Exactly one keyword may be provided")
 * 
 */
  __pyx_t_1 = PyDict_Size(((PyObject *)__pyx_v_kwds)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1479; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = (__pyx_t_1 != 1);
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":1480
 * 
 *     if len(kwds) != 1:
 *         raise TypeError("Exactly one keyword may be provided")             # <<<<<<<<<<<<<<
 * 
 *     name, val = kwds.popitem()
 */
    __pyx_t_3 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_37), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":1482
 *         raise TypeError("Exactly one keyword may be provided")
 * 
 *     name, val = kwds.popitem()             # <<<<<<<<<<<<<<
 * 
 *     if name == 'vlen':
 */
  __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_kwds), __pyx_n_s__popitem); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
    PyObject* sequence = __pyx_t_4;
    #if CYTHON_COMPILING_IN_CPYTHON
    Py_ssize_t size = Py_SIZE(sequence);
    #else
    Py_ssize_t size = PySequence_Size(sequence);
    #endif
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    }
    #if CYTHON_COMPILING_IN_CPYTHON
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_3 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_5 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_5);
    #else
    __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    #endif
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else
  {
    Py_ssize_t index = -1;
    __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext;
    index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_7 = NULL;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    goto __pyx_L5_unpacking_done;
    __pyx_L4_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_L5_unpacking_done:;
  }
  __pyx_v_name = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_v_val = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "h5py/h5t.pyx":1484
 *     name, val = kwds.popitem()
 * 
 *     if name == 'vlen':             # <<<<<<<<<<<<<<
 *         if val not in (bytes, unicode):
 *             raise NotImplementedError("Only byte or unicode string vlens are currently supported")
 */
  __pyx_t_4 = PyObject_RichCompare(__pyx_v_name, ((PyObject *)__pyx_n_s__vlen), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":1485
 * 
 *     if name == 'vlen':
 *         if val not in (bytes, unicode):             # <<<<<<<<<<<<<<
 *             raise NotImplementedError("Only byte or unicode string vlens are currently supported")
 * 
 */
    __Pyx_INCREF(__pyx_v_val);
    __pyx_t_4 = __pyx_v_val;
    __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)(&PyBytes_Type))), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (((int)__pyx_t_2)) {
      __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)(&PyUnicode_Type))), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_9 = ((int)__pyx_t_8);
    } else {
      __pyx_t_9 = ((int)__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_2 = __pyx_t_9;
    if (__pyx_t_2) {

      /* "h5py/h5t.pyx":1486
 *     if name == 'vlen':
 *         if val not in (bytes, unicode):
 *             raise NotImplementedError("Only byte or unicode string vlens are currently supported")             # <<<<<<<<<<<<<<
 * 
 *         return dtype(('O', [( ({'type': val},'vlen'), 'O' )] ))
 */
      __pyx_t_4 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_k_tuple_39), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      goto __pyx_L7;
    }
    __pyx_L7:;

    /* "h5py/h5t.pyx":1488
 *             raise NotImplementedError("Only byte or unicode string vlens are currently supported")
 * 
 *         return dtype(('O', [( ({'type': val},'vlen'), 'O' )] ))             # <<<<<<<<<<<<<<
 * 
 *     if name == 'enum':
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
    if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_n_s__type), __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_4));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
    __Pyx_INCREF(((PyObject *)__pyx_n_s__vlen));
    PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_n_s__vlen));
    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__vlen));
    __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_5));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_5));
    __Pyx_INCREF(((PyObject *)__pyx_n_s__O));
    PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_n_s__O));
    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__O));
    __pyx_t_5 = 0;
    __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    PyList_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_4));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
    __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)__pyx_n_s__O));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s__O));
    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__O));
    PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_t_5));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_5));
    __pyx_t_5 = 0;
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_4));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
    __pyx_t_4 = 0;
    __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "h5py/h5t.pyx":1490
 *         return dtype(('O', [( ({'type': val},'vlen'), 'O' )] ))
 * 
 *     if name == 'enum':             # <<<<<<<<<<<<<<
 * 
 *         try:
 */
  __pyx_t_4 = PyObject_RichCompare(__pyx_v_name, ((PyObject *)__pyx_n_s__enum), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":1492
 *     if name == 'enum':
 * 
 *         try:             # <<<<<<<<<<<<<<
 *             dt, enum_vals = val
 *         except TypeError:
 */
    {
      __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12);
      __Pyx_XGOTREF(__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_11);
      __Pyx_XGOTREF(__pyx_t_12);
      /*try:*/ {

        /* "h5py/h5t.pyx":1493
 * 
 *         try:
 *             dt, enum_vals = val             # <<<<<<<<<<<<<<
 *         except TypeError:
 *             raise TypeError("Enums must be created from a 2-tuple (basetype, values_dict)")
 */
        if ((likely(PyTuple_CheckExact(__pyx_v_val))) || (PyList_CheckExact(__pyx_v_val))) {
          PyObject* sequence = __pyx_v_val;
          #if CYTHON_COMPILING_IN_CPYTHON
          Py_ssize_t size = Py_SIZE(sequence);
          #else
          Py_ssize_t size = PySequence_Size(sequence);
          #endif
          if (unlikely(size != 2)) {
            if (size > 2) __Pyx_RaiseTooManyValuesError(2);
            else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
          }
          #if CYTHON_COMPILING_IN_CPYTHON
          if (likely(PyTuple_CheckExact(sequence))) {
            __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); 
            __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); 
          } else {
            __pyx_t_4 = PyList_GET_ITEM(sequence, 0); 
            __pyx_t_5 = PyList_GET_ITEM(sequence, 1); 
          }
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          #else
          __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        } else
        {
          Py_ssize_t index = -1;
          __pyx_t_3 = PyObject_GetIter(__pyx_v_val); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext;
          index = 0; __pyx_t_4 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_4)) goto __pyx_L17_unpacking_failed;
          __Pyx_GOTREF(__pyx_t_4);
          index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_5)) goto __pyx_L17_unpacking_failed;
          __Pyx_GOTREF(__pyx_t_5);
          if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_3), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
          __pyx_t_7 = NULL;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          goto __pyx_L18_unpacking_done;
          __pyx_L17_unpacking_failed:;
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_7 = NULL;
          if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
          __pyx_L18_unpacking_done:;
        }
        __pyx_v_dt = __pyx_t_4;
        __pyx_t_4 = 0;
        __pyx_v_enum_vals = __pyx_t_5;
        __pyx_t_5 = 0;
      }
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
      goto __pyx_L16_try_end;
      __pyx_L9_error:;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "h5py/h5t.pyx":1494
 *         try:
 *             dt, enum_vals = val
 *         except TypeError:             # <<<<<<<<<<<<<<
 *             raise TypeError("Enums must be created from a 2-tuple (basetype, values_dict)")
 * 
 */
      __pyx_t_13 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
      if (__pyx_t_13) {
        __Pyx_AddTraceback("h5py.h5t.special_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_GOTREF(__pyx_t_3);

        /* "h5py/h5t.pyx":1495
 *             dt, enum_vals = val
 *         except TypeError:
 *             raise TypeError("Enums must be created from a 2-tuple (basetype, values_dict)")             # <<<<<<<<<<<<<<
 * 
 *         dt = dtype(dt)
 */
        __pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_41), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_Raise(__pyx_t_6, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        goto __pyx_L10_exception_handled;
      }
      __pyx_L11_except_error:;
      __Pyx_XGIVEREF(__pyx_t_10);
      __Pyx_XGIVEREF(__pyx_t_11);
      __Pyx_XGIVEREF(__pyx_t_12);
      __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
      goto __pyx_L1_error;
      __pyx_L10_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_10);
      __Pyx_XGIVEREF(__pyx_t_11);
      __Pyx_XGIVEREF(__pyx_t_12);
      __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
      __pyx_L16_try_end:;
    }

    /* "h5py/h5t.pyx":1497
 *             raise TypeError("Enums must be created from a 2-tuple (basetype, values_dict)")
 * 
 *         dt = dtype(dt)             # <<<<<<<<<<<<<<
 *         if dt.kind not in "iu":
 *             raise TypeError("Only integer types can be used as enums")
 */
    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_v_dt);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_dt);
    __Pyx_GIVEREF(__pyx_v_dt);
    __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_v_dt);
    __pyx_v_dt = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "h5py/h5t.pyx":1498
 * 
 *         dt = dtype(dt)
 *         if dt.kind not in "iu":             # <<<<<<<<<<<<<<
 *             raise TypeError("Only integer types can be used as enums")
 * 
 */
    __pyx_t_4 = PyObject_GetAttr(__pyx_v_dt, __pyx_n_s__kind); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = (__Pyx_PySequence_Contains(__pyx_t_4, ((PyObject *)__pyx_n_s__iu), Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (__pyx_t_2) {

      /* "h5py/h5t.pyx":1499
 *         dt = dtype(dt)
 *         if dt.kind not in "iu":
 *             raise TypeError("Only integer types can be used as enums")             # <<<<<<<<<<<<<<
 * 
 *         return dtype((dt, [( ({'vals': enum_vals},'enum'), dt )] ))
 */
      __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_43), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      goto __pyx_L21;
    }
    __pyx_L21:;

    /* "h5py/h5t.pyx":1501
 *             raise TypeError("Only integer types can be used as enums")
 * 
 *         return dtype((dt, [( ({'vals': enum_vals},'enum'), dt )] ))             # <<<<<<<<<<<<<<
 * 
 *     if name == 'ref':
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
    if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_n_s__vals), __pyx_v_enum_vals) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
    __Pyx_INCREF(((PyObject *)__pyx_n_s__enum));
    PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_n_s__enum));
    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__enum));
    __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_3));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
    __Pyx_INCREF(__pyx_v_dt);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_dt);
    __Pyx_GIVEREF(__pyx_v_dt);
    __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    PyList_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
    __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v_dt);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_dt);
    __Pyx_GIVEREF(__pyx_v_dt);
    PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_t_3));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
    __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
    __pyx_t_4 = 0;
    __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
    goto __pyx_L8;
  }
  __pyx_L8:;

  /* "h5py/h5t.pyx":1503
 *         return dtype((dt, [( ({'vals': enum_vals},'enum'), dt )] ))
 * 
 *     if name == 'ref':             # <<<<<<<<<<<<<<
 * 
 *         if val not in (Reference, RegionReference):
 */
  __pyx_t_4 = PyObject_RichCompare(__pyx_v_name, ((PyObject *)__pyx_n_s__ref), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":1505
 *     if name == 'ref':
 * 
 *         if val not in (Reference, RegionReference):             # <<<<<<<<<<<<<<
 *             raise ValueError("Ref class must be Reference or RegionReference")
 * 
 */
    __Pyx_INCREF(__pyx_v_val);
    __pyx_t_4 = __pyx_v_val;
    __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_Reference)), Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (((int)__pyx_t_2)) {
      __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_RegionReference)), Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_8 = ((int)__pyx_t_9);
    } else {
      __pyx_t_8 = ((int)__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_2 = __pyx_t_8;
    if (__pyx_t_2) {

      /* "h5py/h5t.pyx":1506
 * 
 *         if val not in (Reference, RegionReference):
 *             raise ValueError("Ref class must be Reference or RegionReference")             # <<<<<<<<<<<<<<
 * 
 *         return dtype(('O', [( ({'type': val},'ref'), 'O' )] ))
 */
      __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_45), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      goto __pyx_L23;
    }
    __pyx_L23:;

    /* "h5py/h5t.pyx":1508
 *             raise ValueError("Ref class must be Reference or RegionReference")
 * 
 *         return dtype(('O', [( ({'type': val},'ref'), 'O' )] ))             # <<<<<<<<<<<<<<
 * 
 *     raise TypeError('Unknown special type "%s"' % name)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
    if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_n_s__type), __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
    __Pyx_INCREF(((PyObject *)__pyx_n_s__ref));
    PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_n_s__ref));
    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__ref));
    __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_3));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
    __Pyx_INCREF(((PyObject *)__pyx_n_s__O));
    PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_n_s__O));
    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__O));
    __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    PyList_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
    __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)__pyx_n_s__O));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s__O));
    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__O));
    PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_t_3));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
    __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
    __pyx_t_4 = 0;
    __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
    goto __pyx_L22;
  }
  __pyx_L22:;

  /* "h5py/h5t.pyx":1510
 *         return dtype(('O', [( ({'type': val},'ref'), 'O' )] ))
 * 
 *     raise TypeError('Unknown special type "%s"' % name)             # <<<<<<<<<<<<<<
 * 
 * def check_dtype(**kwds):
 */
  __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_46), __pyx_v_name); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
  __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
  __Pyx_Raise(__pyx_t_4, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("h5py.h5t.special_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_val);
  __Pyx_XDECREF(__pyx_v_dt);
  __Pyx_XDECREF(__pyx_v_enum_vals);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_19check_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5t_18check_dtype[] = " Check a dtype for h5py special type \"hint\" information.  Only one\n    keyword may be given.\n\n    vlen = dtype\n        If the dtype represents an HDF5 vlen, returns the Python base class.\n        Currently only builting string vlens (str) are supported.  Returns\n        None if the dtype does not represent an HDF5 vlen.\n\n    enum = dtype\n        If the dtype represents an HDF5 enumerated type, returns the dictionary\n        mapping string names to integer values.  Returns None if the dtype does\n        not represent an HDF5 enumerated type.\n\n    ref = dtype\n        If the dtype represents an HDF5 reference type, returns the reference\n        class (either Reference or RegionReference).  Returns None if the dtype\n        does not represent an HDF5 reference type.\n    ";
static PyMethodDef __pyx_mdef_4h5py_3h5t_19check_dtype = {__Pyx_NAMESTR("check_dtype"), (PyCFunction)__pyx_pw_4h5py_3h5t_19check_dtype, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_18check_dtype)};
static PyObject *__pyx_pw_4h5py_3h5t_19check_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_kwds = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("check_dtype (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("check_dtype", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;}
  if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "check_dtype", 1))) return NULL;
  __pyx_v_kwds = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
  if (unlikely(!__pyx_v_kwds)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwds);
  __pyx_r = __pyx_pf_4h5py_3h5t_18check_dtype(__pyx_self, __pyx_v_kwds);
  __Pyx_XDECREF(__pyx_v_kwds);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1512
 *     raise TypeError('Unknown special type "%s"' % name)
 * 
 * def check_dtype(**kwds):             # <<<<<<<<<<<<<<
 *     """ Check a dtype for h5py special type "hint" information.  Only one
 *     keyword may be given.
 */

static PyObject *__pyx_pf_4h5py_3h5t_18check_dtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kwds) {
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_dt = NULL;
  PyObject *__pyx_v_hintkey = NULL;
  PyObject *__pyx_v_tpl = NULL;
  PyObject *__pyx_v_hint_dict = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *(*__pyx_t_7)(PyObject *);
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("check_dtype", 0);

  /* "h5py/h5t.pyx":1532
 *     """
 * 
 *     if len(kwds) != 1:             # <<<<<<<<<<<<<<
 *         raise TypeError("Exactly one keyword may be provided")
 * 
 */
  __pyx_t_1 = PyDict_Size(((PyObject *)__pyx_v_kwds)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1532; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = (__pyx_t_1 != 1);
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":1533
 * 
 *     if len(kwds) != 1:
 *         raise TypeError("Exactly one keyword may be provided")             # <<<<<<<<<<<<<<
 * 
 *     name, dt = kwds.popitem()
 */
    __pyx_t_3 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_47), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":1535
 *         raise TypeError("Exactly one keyword may be provided")
 * 
 *     name, dt = kwds.popitem()             # <<<<<<<<<<<<<<
 * 
 *     if name not in ('vlen', 'enum', 'ref'):
 */
  __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_kwds), __pyx_n_s__popitem); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
    PyObject* sequence = __pyx_t_4;
    #if CYTHON_COMPILING_IN_CPYTHON
    Py_ssize_t size = Py_SIZE(sequence);
    #else
    Py_ssize_t size = PySequence_Size(sequence);
    #endif
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    }
    #if CYTHON_COMPILING_IN_CPYTHON
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_3 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_5 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_5);
    #else
    __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    #endif
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else
  {
    Py_ssize_t index = -1;
    __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext;
    index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_7 = NULL;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    goto __pyx_L5_unpacking_done;
    __pyx_L4_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_L5_unpacking_done:;
  }
  __pyx_v_name = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_v_dt = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "h5py/h5t.pyx":1537
 *     name, dt = kwds.popitem()
 * 
 *     if name not in ('vlen', 'enum', 'ref'):             # <<<<<<<<<<<<<<
 *         raise TypeError('Unknown special type "%s"' % name)
 * 
 */
  __Pyx_INCREF(__pyx_v_name);
  __pyx_t_4 = __pyx_v_name;
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_n_s__vlen), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (((int)__pyx_t_2)) {
    __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_n_s__enum), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_9 = ((int)__pyx_t_8);
  } else {
    __pyx_t_9 = ((int)__pyx_t_2);
  }
  if (__pyx_t_9) {
    __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_n_s__ref), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_8 = ((int)__pyx_t_2);
  } else {
    __pyx_t_8 = __pyx_t_9;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_9 = __pyx_t_8;
  if (__pyx_t_9) {

    /* "h5py/h5t.pyx":1538
 * 
 *     if name not in ('vlen', 'enum', 'ref'):
 *         raise TypeError('Unknown special type "%s"' % name)             # <<<<<<<<<<<<<<
 * 
 *     hintkey = 'type' if name is not 'enum' else 'vals'
 */
    __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_46), __pyx_v_name); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_4));
    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
    __pyx_t_4 = 0;
    __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "h5py/h5t.pyx":1540
 *         raise TypeError('Unknown special type "%s"' % name)
 * 
 *     hintkey = 'type' if name is not 'enum' else 'vals'             # <<<<<<<<<<<<<<
 * 
 *     if dt.fields is not None and name in dt.fields:
 */
  __pyx_t_9 = (__pyx_v_name != ((PyObject *)__pyx_n_s__enum));
  if (__pyx_t_9) {
    __Pyx_INCREF(((PyObject *)__pyx_n_s__type));
    __pyx_t_4 = __pyx_n_s__type;
  } else {
    __Pyx_INCREF(((PyObject *)__pyx_n_s__vals));
    __pyx_t_4 = __pyx_n_s__vals;
  }
  __pyx_v_hintkey = ((PyObject *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1542
 *     hintkey = 'type' if name is not 'enum' else 'vals'
 * 
 *     if dt.fields is not None and name in dt.fields:             # <<<<<<<<<<<<<<
 *         tpl = dt.fields[name]
 *         if len(tpl) == 3:
 */
  __pyx_t_4 = PyObject_GetAttr(__pyx_v_dt, __pyx_n_s__fields); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = (__pyx_t_4 != Py_None);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_9) {
    __pyx_t_4 = PyObject_GetAttr(__pyx_v_dt, __pyx_n_s__fields); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = (__Pyx_PySequence_Contains(__pyx_v_name, __pyx_t_4, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_2 = __pyx_t_8;
  } else {
    __pyx_t_2 = __pyx_t_9;
  }
  if (__pyx_t_2) {

    /* "h5py/h5t.pyx":1543
 * 
 *     if dt.fields is not None and name in dt.fields:
 *         tpl = dt.fields[name]             # <<<<<<<<<<<<<<
 *         if len(tpl) == 3:
 *             hint_dict = tpl[2]
 */
    __pyx_t_4 = PyObject_GetAttr(__pyx_v_dt, __pyx_n_s__fields); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyObject_GetItem(__pyx_t_4, __pyx_v_name); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_tpl = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "h5py/h5t.pyx":1544
 *     if dt.fields is not None and name in dt.fields:
 *         tpl = dt.fields[name]
 *         if len(tpl) == 3:             # <<<<<<<<<<<<<<
 *             hint_dict = tpl[2]
 *             if hintkey in hint_dict:
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_tpl); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = (__pyx_t_1 == 3);
    if (__pyx_t_2) {

      /* "h5py/h5t.pyx":1545
 *         tpl = dt.fields[name]
 *         if len(tpl) == 3:
 *             hint_dict = tpl[2]             # <<<<<<<<<<<<<<
 *             if hintkey in hint_dict:
 *                 return hint_dict[hintkey]
 */
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_tpl, 2, sizeof(long), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_v_hint_dict = __pyx_t_5;
      __pyx_t_5 = 0;

      /* "h5py/h5t.pyx":1546
 *         if len(tpl) == 3:
 *             hint_dict = tpl[2]
 *             if hintkey in hint_dict:             # <<<<<<<<<<<<<<
 *                 return hint_dict[hintkey]
 * 
 */
      __pyx_t_2 = (__Pyx_PySequence_Contains(__pyx_v_hintkey, __pyx_v_hint_dict, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      if (__pyx_t_2) {

        /* "h5py/h5t.pyx":1547
 *             hint_dict = tpl[2]
 *             if hintkey in hint_dict:
 *                 return hint_dict[hintkey]             # <<<<<<<<<<<<<<
 * 
 *     return None
 */
        __Pyx_XDECREF(__pyx_r);
        __pyx_t_5 = PyObject_GetItem(__pyx_v_hint_dict, __pyx_v_hintkey); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1547; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_r = __pyx_t_5;
        __pyx_t_5 = 0;
        goto __pyx_L0;
        goto __pyx_L9;
      }
      __pyx_L9:;
      goto __pyx_L8;
    }
    __pyx_L8:;
    goto __pyx_L7;
  }
  __pyx_L7:;

  /* "h5py/h5t.pyx":1549
 *                 return hint_dict[hintkey]
 * 
 *     return None             # <<<<<<<<<<<<<<
 * 
 * def convert(TypeID src not None, TypeID dst not None, size_t n,
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(Py_None);
  __pyx_r = Py_None;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("h5py.h5t.check_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_dt);
  __Pyx_XDECREF(__pyx_v_hintkey);
  __Pyx_XDECREF(__pyx_v_tpl);
  __Pyx_XDECREF(__pyx_v_hint_dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_21convert(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5t_20convert[] = " (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None,\n    PropID dxpl=None)\n\n    Convert n contiguous elements of a buffer in-place.  The array dtype\n    is ignored.  The backing buffer is optional; for conversion of compound\n    types, a temporary copy of conversion buffer will used for backing if\n    one is not supplied.\n    ";
static PyMethodDef __pyx_mdef_4h5py_3h5t_21convert = {__Pyx_NAMESTR("convert"), (PyCFunction)__pyx_pw_4h5py_3h5t_21convert, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_20convert)};
static PyObject *__pyx_pw_4h5py_3h5t_21convert(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src = 0;
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst = 0;
  size_t __pyx_v_n;
  PyArrayObject *__pyx_v_buf = 0;
  PyArrayObject *__pyx_v_bkg = 0;
  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_dxpl = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("convert (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__src,&__pyx_n_s__dst,&__pyx_n_s__n,&__pyx_n_s__buf,&__pyx_n_s__bkg,&__pyx_n_s__dxpl,0};
    PyObject* values[6] = {0,0,0,0,0,0};

    /* "h5py/h5t.pyx":1552
 * 
 * def convert(TypeID src not None, TypeID dst not None, size_t n,
 *             ndarray buf not None, ndarray bkg=None, ObjectID dxpl=None):             # <<<<<<<<<<<<<<
 *     """ (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None,
 *     PropID dxpl=None)
 */
    values[4] = (PyObject *)((PyArrayObject *)Py_None);
    values[5] = (PyObject *)((struct __pyx_obj_4h5py_8_objects_ObjectID *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__src)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dst)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__buf)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  4:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__bkg);
          if (value) { values[4] = value; kw_args--; }
        }
        case  5:
        if (kw_args > 0) {
          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dxpl);
          if (value) { values[5] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "convert") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_src = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[0]);
    __pyx_v_dst = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[1]);
    __pyx_v_n = __Pyx_PyInt_AsSize_t(values[2]); if (unlikely((__pyx_v_n == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_buf = ((PyArrayObject *)values[3]);
    __pyx_v_bkg = ((PyArrayObject *)values[4]);
    __pyx_v_dxpl = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[5]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.convert", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_4h5py_3h5t_TypeID, 0, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst), __pyx_ptype_4h5py_3h5t_TypeID, 0, "dst", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_buf), __pyx_ptype_4h5py_5numpy_ndarray, 0, "buf", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_bkg), __pyx_ptype_4h5py_5numpy_ndarray, 1, "bkg", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dxpl), __pyx_ptype_4h5py_8_objects_ObjectID, 1, "dxpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4h5py_3h5t_20convert(__pyx_self, __pyx_v_src, __pyx_v_dst, __pyx_v_n, __pyx_v_buf, __pyx_v_bkg, __pyx_v_dxpl);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1551
 *     return None
 * 
 * def convert(TypeID src not None, TypeID dst not None, size_t n,             # <<<<<<<<<<<<<<
 *             ndarray buf not None, ndarray bkg=None, ObjectID dxpl=None):
 *     """ (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None,
 */

static PyObject *__pyx_pf_4h5py_3h5t_20convert(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst, size_t __pyx_v_n, PyArrayObject *__pyx_v_buf, PyArrayObject *__pyx_v_bkg, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_dxpl) {
  void *__pyx_v_bkg_;
  void *__pyx_v_buf_;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  herr_t __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("convert", 0);
  __Pyx_INCREF((PyObject *)__pyx_v_bkg);

  /* "h5py/h5t.pyx":1561
 *     one is not supplied.
 *     """
 *     cdef void* bkg_ = NULL             # <<<<<<<<<<<<<<
 *     cdef void* buf_ = buf.data
 * 
 */
  __pyx_v_bkg_ = NULL;

  /* "h5py/h5t.pyx":1562
 *     """
 *     cdef void* bkg_ = NULL
 *     cdef void* buf_ = buf.data             # <<<<<<<<<<<<<<
 * 
 *     if bkg is None and (src.detect_class(H5T_COMPOUND) or
 */
  __pyx_t_1 = __pyx_v_buf->data;
  __pyx_v_buf_ = __pyx_t_1;

  /* "h5py/h5t.pyx":1564
 *     cdef void* buf_ = buf.data
 * 
 *     if bkg is None and (src.detect_class(H5T_COMPOUND) or             # <<<<<<<<<<<<<<
 *                         dst.detect_class(H5T_COMPOUND)):
 *         bkg = buf.copy()
 */
  __pyx_t_2 = (((PyObject *)__pyx_v_bkg) == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_n_s__detect_class); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyInt_FromLong(H5T_COMPOUND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (!__pyx_t_6) {

      /* "h5py/h5t.pyx":1565
 * 
 *     if bkg is None and (src.detect_class(H5T_COMPOUND) or
 *                         dst.detect_class(H5T_COMPOUND)):             # <<<<<<<<<<<<<<
 *         bkg = buf.copy()
 *     if bkg is not None:
 */
      __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_dst), __pyx_n_s__detect_class); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = PyInt_FromLong(H5T_COMPOUND); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_8 = __pyx_t_7;
    } else {
      __pyx_t_8 = __pyx_t_6;
    }
    __pyx_t_6 = __pyx_t_8;
  } else {
    __pyx_t_6 = __pyx_t_2;
  }
  if (__pyx_t_6) {

    /* "h5py/h5t.pyx":1566
 *     if bkg is None and (src.detect_class(H5T_COMPOUND) or
 *                         dst.detect_class(H5T_COMPOUND)):
 *         bkg = buf.copy()             # <<<<<<<<<<<<<<
 *     if bkg is not None:
 *         bkg_ = bkg.data
 */
    __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_buf), __pyx_n_s__copy); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(((PyObject *)__pyx_v_bkg));
    __pyx_v_bkg = ((PyArrayObject *)__pyx_t_3);
    __pyx_t_3 = 0;
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "h5py/h5t.pyx":1567
 *                         dst.detect_class(H5T_COMPOUND)):
 *         bkg = buf.copy()
 *     if bkg is not None:             # <<<<<<<<<<<<<<
 *         bkg_ = bkg.data
 * 
 */
  __pyx_t_6 = (((PyObject *)__pyx_v_bkg) != Py_None);
  if (__pyx_t_6) {

    /* "h5py/h5t.pyx":1568
 *         bkg = buf.copy()
 *     if bkg is not None:
 *         bkg_ = bkg.data             # <<<<<<<<<<<<<<
 * 
 *     H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl))
 */
    __pyx_t_1 = __pyx_v_bkg->data;
    __pyx_v_bkg_ = __pyx_t_1;
    goto __pyx_L4;
  }
  __pyx_L4:;

  /* "h5py/h5t.pyx":1570
 *         bkg_ = bkg.data
 * 
 *     H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl))             # <<<<<<<<<<<<<<
 * 
 * def find(TypeID src not None, TypeID dst not None):
 */
  __pyx_t_9 = __pyx_f_4h5py_4defs_H5Tconvert(__pyx_v_src->__pyx_base.id, __pyx_v_dst->__pyx_base.id, __pyx_v_n, __pyx_v_buf_, __pyx_v_bkg_, __pyx_f_4h5py_8_objects_pdefault(__pyx_v_dxpl)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5t.convert", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_bkg);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_23find(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5t_22find[] = " (TypeID src, TypeID dst) => TUPLE or None\n\n    Determine if a conversion path exists from src to dst.  Result is None\n    or a tuple describing the conversion path.  Currently tuple entries are:\n\n    1. INT need_bkg:    Whether this routine requires a backing buffer.\n                        Values are BKG_NO, BKG_TEMP and BKG_YES.\n    ";
static PyMethodDef __pyx_mdef_4h5py_3h5t_23find = {__Pyx_NAMESTR("find"), (PyCFunction)__pyx_pw_4h5py_3h5t_23find, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_22find)};
static PyObject *__pyx_pw_4h5py_3h5t_23find(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src = 0;
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("find (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__src,&__pyx_n_s__dst,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__src)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dst)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("find", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "find") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_src = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[0]);
    __pyx_v_dst = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("find", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.find", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_4h5py_3h5t_TypeID, 0, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst), __pyx_ptype_4h5py_3h5t_TypeID, 0, "dst", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4h5py_3h5t_22find(__pyx_self, __pyx_v_src, __pyx_v_dst);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1572
 *     H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl))
 * 
 * def find(TypeID src not None, TypeID dst not None):             # <<<<<<<<<<<<<<
 *     """ (TypeID src, TypeID dst) => TUPLE or None
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_22find(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst) {
  H5T_cdata_t *__pyx_v_data;
  H5T_conv_t __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  H5T_conv_t __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("find", 0);

  /* "h5py/h5t.pyx":1582
 *     """
 *     cdef H5T_cdata_t *data
 *     cdef H5T_conv_t result = NULL             # <<<<<<<<<<<<<<
 * 
 *     try:
 */
  __pyx_v_result = NULL;

  /* "h5py/h5t.pyx":1584
 *     cdef H5T_conv_t result = NULL
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         result = H5Tfind(src.id, dst.id, &data)
 *         if result == NULL:
 */
  {
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "h5py/h5t.pyx":1585
 * 
 *     try:
 *         result = H5Tfind(src.id, dst.id, &data)             # <<<<<<<<<<<<<<
 *         if result == NULL:
 *             return None
 */
      __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tfind(__pyx_v_src->__pyx_base.id, __pyx_v_dst->__pyx_base.id, (&__pyx_v_data)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      __pyx_v_result = __pyx_t_4;

      /* "h5py/h5t.pyx":1586
 *     try:
 *         result = H5Tfind(src.id, dst.id, &data)
 *         if result == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return (data[0].need_bkg,)
 */
      __pyx_t_5 = (__pyx_v_result == NULL);
      if (__pyx_t_5) {

        /* "h5py/h5t.pyx":1587
 *         result = H5Tfind(src.id, dst.id, &data)
 *         if result == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return (data[0].need_bkg,)
 *     except:
 */
        __Pyx_XDECREF(__pyx_r);
        __Pyx_INCREF(Py_None);
        __pyx_r = Py_None;
        goto __pyx_L7_try_return;
        goto __pyx_L11;
      }
      __pyx_L11:;

      /* "h5py/h5t.pyx":1588
 *         if result == NULL:
 *             return None
 *         return (data[0].need_bkg,)             # <<<<<<<<<<<<<<
 *     except:
 *         return None
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_6 = PyInt_FromLong((__pyx_v_data[0]).need_bkg); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1588; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1588; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      __Pyx_GOTREF(__pyx_t_7);
      PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_r = ((PyObject *)__pyx_t_7);
      __pyx_t_7 = 0;
      goto __pyx_L7_try_return;
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L10_try_end;
    __pyx_L7_try_return:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L0;
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "h5py/h5t.pyx":1589
 *             return None
 *         return (data[0].need_bkg,)
 *     except:             # <<<<<<<<<<<<<<
 *         return None
 * 
 */
    /*except:*/ {
      __Pyx_AddTraceback("h5py.h5t.find", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_8);

      /* "h5py/h5t.pyx":1590
 *         return (data[0].need_bkg,)
 *     except:
 *         return None             # <<<<<<<<<<<<<<
 * 
 * # ============================================================================
 */
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_None);
      __pyx_r = Py_None;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L6_except_return;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      goto __pyx_L4_exception_handled;
    }
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L6_except_return:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L0;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L10_try_end:;
  }

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("h5py.h5t.find", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1597
 * import warnings
 * 
 * cpdef dtype py_new_enum(object dt_in, dict enum_vals):             # <<<<<<<<<<<<<<
 *     """ (DTYPE dt_in, DICT enum_vals) => DTYPE
 * 
 */

static PyObject *__pyx_pw_4h5py_3h5t_25py_new_enum(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyArray_Descr *__pyx_f_4h5py_3h5t_py_new_enum(PyObject *__pyx_v_dt_in, PyObject *__pyx_v_enum_vals, CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyArray_Descr *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_new_enum", 0);

  /* "h5py/h5t.pyx":1603
 *     """
 *     #warnings.warn("Deprecated; use special_dtype(enum=(dtype, values)) instead", DeprecationWarning)
 *     return special_dtype(enum = (dt_in, enum_vals))             # <<<<<<<<<<<<<<
 * 
 * cpdef dict py_get_enum(object dt):
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_dt_in);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_dt_in);
  __Pyx_GIVEREF(__pyx_v_dt_in);
  __Pyx_INCREF(((PyObject *)__pyx_v_enum_vals));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_enum_vals));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_enum_vals));
  if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__enum), ((PyObject *)__pyx_t_3)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = ((PyArray_Descr *)__pyx_t_3);
  __pyx_t_3 = 0;
  goto __pyx_L0;

  __pyx_r = ((PyArray_Descr *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("h5py.h5t.py_new_enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_25py_new_enum(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5t_24py_new_enum[] = " (DTYPE dt_in, DICT enum_vals) => DTYPE\n\n    Deprecated; use special_dtype() instead.\n    ";
static PyObject *__pyx_pw_4h5py_3h5t_25py_new_enum(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dt_in = 0;
  PyObject *__pyx_v_enum_vals = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("py_new_enum (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dt_in,&__pyx_n_s__enum_vals,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dt_in)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__enum_vals)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("py_new_enum", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1597; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "py_new_enum") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1597; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_dt_in = values[0];
    __pyx_v_enum_vals = ((PyObject*)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("py_new_enum", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1597; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5t.py_new_enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_enum_vals), (&PyDict_Type), 1, "enum_vals", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4h5py_3h5t_24py_new_enum(__pyx_self, __pyx_v_dt_in, __pyx_v_enum_vals);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1597
 * import warnings
 * 
 * cpdef dtype py_new_enum(object dt_in, dict enum_vals):             # <<<<<<<<<<<<<<
 *     """ (DTYPE dt_in, DICT enum_vals) => DTYPE
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_24py_new_enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt_in, PyObject *__pyx_v_enum_vals) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_new_enum", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_py_new_enum(__pyx_v_dt_in, __pyx_v_enum_vals, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5t.py_new_enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1605
 *     return special_dtype(enum = (dt_in, enum_vals))
 * 
 * cpdef dict py_get_enum(object dt):             # <<<<<<<<<<<<<<
 *     """ (DTYPE dt_in) => DICT
 * 
 */

static PyObject *__pyx_pw_4h5py_3h5t_27py_get_enum(PyObject *__pyx_self, PyObject *__pyx_v_dt); /*proto*/
static PyObject *__pyx_f_4h5py_3h5t_py_get_enum(PyObject *__pyx_v_dt, CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_get_enum", 0);

  /* "h5py/h5t.pyx":1611
 *     """
 *     #warnings.warn("Deprecated; use check_dtype(enum=dtype) instead", DeprecationWarning)
 *     return check_dtype(enum=dt)             # <<<<<<<<<<<<<<
 * 
 * cpdef dtype py_new_vlen(object kind):
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__check_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__enum), __pyx_v_dt) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
  if (!(likely(PyDict_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected dict, got %.200s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;
  goto __pyx_L0;

  __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("h5py.h5t.py_get_enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_27py_get_enum(PyObject *__pyx_self, PyObject *__pyx_v_dt); /*proto*/
static char __pyx_doc_4h5py_3h5t_26py_get_enum[] = " (DTYPE dt_in) => DICT\n\n    Deprecated; use check_dtype() instead.\n    ";
static PyObject *__pyx_pw_4h5py_3h5t_27py_get_enum(PyObject *__pyx_self, PyObject *__pyx_v_dt) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("py_get_enum (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_26py_get_enum(__pyx_self, ((PyObject *)__pyx_v_dt));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1605
 *     return special_dtype(enum = (dt_in, enum_vals))
 * 
 * cpdef dict py_get_enum(object dt):             # <<<<<<<<<<<<<<
 *     """ (DTYPE dt_in) => DICT
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_26py_get_enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_get_enum", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_py_get_enum(__pyx_v_dt, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5t.py_get_enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1613
 *     return check_dtype(enum=dt)
 * 
 * cpdef dtype py_new_vlen(object kind):             # <<<<<<<<<<<<<<
 *     """ (OBJECT kind) => DTYPE
 * 
 */

static PyObject *__pyx_pw_4h5py_3h5t_29py_new_vlen(PyObject *__pyx_self, PyObject *__pyx_v_kind); /*proto*/
static PyArray_Descr *__pyx_f_4h5py_3h5t_py_new_vlen(PyObject *__pyx_v_kind, CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyArray_Descr *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_new_vlen", 0);

  /* "h5py/h5t.pyx":1619
 *     """
 *     #warnings.warn("Deprecated; use special_dtype(vlen=basetype) instead", DeprecationWarning)
 *     return special_dtype(vlen=kind)             # <<<<<<<<<<<<<<
 * 
 * cpdef object py_get_vlen(object dt_in):
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__vlen), __pyx_v_kind) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = ((PyArray_Descr *)__pyx_t_3);
  __pyx_t_3 = 0;
  goto __pyx_L0;

  __pyx_r = ((PyArray_Descr *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("h5py.h5t.py_new_vlen", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_29py_new_vlen(PyObject *__pyx_self, PyObject *__pyx_v_kind); /*proto*/
static char __pyx_doc_4h5py_3h5t_28py_new_vlen[] = " (OBJECT kind) => DTYPE\n\n    Deprecated; use special_dtype() instead.\n    ";
static PyObject *__pyx_pw_4h5py_3h5t_29py_new_vlen(PyObject *__pyx_self, PyObject *__pyx_v_kind) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("py_new_vlen (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_28py_new_vlen(__pyx_self, ((PyObject *)__pyx_v_kind));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1613
 *     return check_dtype(enum=dt)
 * 
 * cpdef dtype py_new_vlen(object kind):             # <<<<<<<<<<<<<<
 *     """ (OBJECT kind) => DTYPE
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_28py_new_vlen(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kind) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_new_vlen", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_py_new_vlen(__pyx_v_kind, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5t.py_new_vlen", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1621
 *     return special_dtype(vlen=kind)
 * 
 * cpdef object py_get_vlen(object dt_in):             # <<<<<<<<<<<<<<
 *     """ (OBJECT dt_in) => TYPE
 * 
 */

static PyObject *__pyx_pw_4h5py_3h5t_31py_get_vlen(PyObject *__pyx_self, PyObject *__pyx_v_dt_in); /*proto*/
static PyObject *__pyx_f_4h5py_3h5t_py_get_vlen(PyObject *__pyx_v_dt_in, CYTHON_UNUSED int __pyx_skip_dispatch) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_get_vlen", 0);

  /* "h5py/h5t.pyx":1627
 *     """
 *     #warnings.warn("Deprecated; use check_dtype(vlen=dtype) instead", DeprecationWarning)
 *     return check_dtype(vlen=dt_in)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__check_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__vlen), __pyx_v_dt_in) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("h5py.h5t.py_get_vlen", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5t_31py_get_vlen(PyObject *__pyx_self, PyObject *__pyx_v_dt_in); /*proto*/
static char __pyx_doc_4h5py_3h5t_30py_get_vlen[] = " (OBJECT dt_in) => TYPE\n\n    Deprecated; use check_dtype() instead.\n    ";
static PyObject *__pyx_pw_4h5py_3h5t_31py_get_vlen(PyObject *__pyx_self, PyObject *__pyx_v_dt_in) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("py_get_vlen (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5t_30py_get_vlen(__pyx_self, ((PyObject *)__pyx_v_dt_in));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5t.pyx":1621
 *     return special_dtype(vlen=kind)
 * 
 * cpdef object py_get_vlen(object dt_in):             # <<<<<<<<<<<<<<
 *     """ (OBJECT dt_in) => TYPE
 * 
 */

static PyObject *__pyx_pf_4h5py_3h5t_30py_get_vlen(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt_in) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("py_get_vlen", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_3h5t_py_get_vlen(__pyx_v_dt_in, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5t.py_get_vlen", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_vtable_4h5py_3h5t_TypeID;

static PyObject *__pyx_tp_new_4h5py_3h5t_TypeID(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4h5py_3h5t_TypeID *p;
  PyObject *o = __pyx_ptype_4h5py_8_objects_ObjectID->tp_new(t, a, k);
  if (!o) return 0;
  p = ((struct __pyx_obj_4h5py_3h5t_TypeID *)o);
  p->__pyx_vtab = __pyx_vtabptr_4h5py_3h5t_TypeID;
  return o;
}

static void __pyx_tp_dealloc_4h5py_3h5t_TypeID(PyObject *o) {
  PyObject_GC_UnTrack(o);
  PyObject_GC_Track(o);
  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5t_TypeID);
}

static int __pyx_tp_traverse_4h5py_3h5t_TypeID(PyObject *o, visitproc v, void *a) {
  int e;
  e = ((likely(__pyx_ptype_4h5py_8_objects_ObjectID)) ? ((__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) ? __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5t_TypeID)); if (e) return e;
  return 0;
}

static int __pyx_tp_clear_4h5py_3h5t_TypeID(PyObject *o) {
  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) { if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5t_TypeID);
  return 0;
}

static PyObject *__pyx_getprop_4h5py_3h5t_6TypeID_dtype(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4h5py_3h5t_6TypeID_5dtype_1__get__(o);
}

static PyMethodDef __pyx_methods_4h5py_3h5t_TypeID[] = {
  {__Pyx_NAMESTR("__copy__"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_5__copy__, METH_NOARGS, __Pyx_DOCSTR(0)},
  {__Pyx_NAMESTR("commit"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_7commit, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_6commit)},
  {__Pyx_NAMESTR("committed"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_9committed, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_8committed)},
  {__Pyx_NAMESTR("copy"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_11copy, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_10copy)},
  {__Pyx_NAMESTR("equal"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_13equal, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_12equal)},
  {__Pyx_NAMESTR("lock"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_15lock, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_14lock)},
  {__Pyx_NAMESTR("get_class"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_17get_class, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_16get_class)},
  {__Pyx_NAMESTR("set_size"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_19set_size, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_18set_size)},
  {__Pyx_NAMESTR("get_size"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_21get_size, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_20get_size)},
  {__Pyx_NAMESTR("get_super"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_23get_super, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_22get_super)},
  {__Pyx_NAMESTR("detect_class"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_25detect_class, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_24detect_class)},
  {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_27_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_26_close)},
  {__Pyx_NAMESTR("encode"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_29encode, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_28encode)},
  {__Pyx_NAMESTR("__reduce__"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_31__reduce__, METH_NOARGS, __Pyx_DOCSTR(0)},
  {__Pyx_NAMESTR("__setstate__"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_33__setstate__, METH_O, __Pyx_DOCSTR(0)},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4h5py_3h5t_TypeID[] = {
  {(char *)"dtype", __pyx_getprop_4h5py_3h5t_6TypeID_dtype, 0, __Pyx_DOCSTR(__pyx_k_48), 0},
  {0, 0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_TypeID = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_divide*/
  #endif
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_nonzero*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_coerce*/
  #endif
  0, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_inplace_divide*/
  #endif
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  #if PY_VERSION_HEX >= 0x02050000
  0, /*nb_index*/
  #endif
};

static PySequenceMethods __pyx_tp_as_sequence_TypeID = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_TypeID = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_TypeID = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_getbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_releasebuffer*/
  #endif
};

static PyTypeObject __pyx_type_4h5py_3h5t_TypeID = {
  PyVarObject_HEAD_INIT(0, 0)
  __Pyx_NAMESTR("h5py.h5t.TypeID"), /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5t_TypeID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #else
  0, /*reserved*/
  #endif
  0, /*tp_repr*/
  &__pyx_tp_as_number_TypeID, /*tp_as_number*/
  &__pyx_tp_as_sequence_TypeID, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_TypeID, /*tp_as_mapping*/
  __pyx_pw_4h5py_3h5t_6TypeID_1__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_TypeID, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  __Pyx_DOCSTR("\n        Base class for type identifiers (implements common operations)\n\n        * Hashable: If committed; in HDF5 1.8.X, also if locked\n        * Equality: Logical H5T comparison\n    "), /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
  __pyx_pw_4h5py_3h5t_6TypeID_3__richcmp__, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5t_TypeID, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4h5py_3h5t_TypeID, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5t_TypeID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  #if PY_VERSION_HEX >= 0x02060000
  0, /*tp_version_tag*/
  #endif
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID __pyx_vtable_4h5py_3h5t_TypeArrayID;

static PyObject *__pyx_tp_new_4h5py_3h5t_TypeArrayID(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4h5py_3h5t_TypeArrayID *p;
  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
  if (!o) return 0;
  p = ((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeArrayID;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5t_TypeArrayID[] = {
  {__Pyx_NAMESTR("get_array_ndims"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeArrayID_1get_array_ndims, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeArrayID_get_array_ndims)},
  {__Pyx_NAMESTR("get_array_dims"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeArrayID_3get_array_dims, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeArrayID_2get_array_dims)},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_TypeArrayID = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_divide*/
  #endif
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_nonzero*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_coerce*/
  #endif
  0, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_inplace_divide*/
  #endif
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  #if PY_VERSION_HEX >= 0x02050000
  0, /*nb_index*/
  #endif
};

static PySequenceMethods __pyx_tp_as_sequence_TypeArrayID = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_TypeArrayID = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_TypeArrayID = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_getbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_releasebuffer*/
  #endif
};

static PyTypeObject __pyx_type_4h5py_3h5t_TypeArrayID = {
  PyVarObject_HEAD_INIT(0, 0)
  __Pyx_NAMESTR("h5py.h5t.TypeArrayID"), /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5t_TypeArrayID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #else
  0, /*reserved*/
  #endif
  0, /*tp_repr*/
  &__pyx_tp_as_number_TypeArrayID, /*tp_as_number*/
  &__pyx_tp_as_sequence_TypeArrayID, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_TypeArrayID, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_TypeArrayID, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  __Pyx_DOCSTR("\n        Represents an array datatype\n    "), /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5t_TypeArrayID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5t_TypeArrayID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  #if PY_VERSION_HEX >= 0x02060000
  0, /*tp_version_tag*/
  #endif
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID __pyx_vtable_4h5py_3h5t_TypeOpaqueID;

static PyObject *__pyx_tp_new_4h5py_3h5t_TypeOpaqueID(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *p;
  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
  if (!o) return 0;
  p = ((struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5t_TypeOpaqueID[] = {
  {__Pyx_NAMESTR("set_tag"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeOpaqueID_1set_tag, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeOpaqueID_set_tag)},
  {__Pyx_NAMESTR("get_tag"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeOpaqueID_3get_tag, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeOpaqueID_2get_tag)},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_TypeOpaqueID = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_divide*/
  #endif
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_nonzero*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_coerce*/
  #endif
  0, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_inplace_divide*/
  #endif
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  #if PY_VERSION_HEX >= 0x02050000
  0, /*nb_index*/
  #endif
};

static PySequenceMethods __pyx_tp_as_sequence_TypeOpaqueID = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_TypeOpaqueID = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_TypeOpaqueID = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_getbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_releasebuffer*/
  #endif
};

static PyTypeObject __pyx_type_4h5py_3h5t_TypeOpaqueID = {
  PyVarObject_HEAD_INIT(0, 0)
  __Pyx_NAMESTR("h5py.h5t.TypeOpaqueID"), /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #else
  0, /*reserved*/
  #endif
  0, /*tp_repr*/
  &__pyx_tp_as_number_TypeOpaqueID, /*tp_as_number*/
  &__pyx_tp_as_sequence_TypeOpaqueID, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_TypeOpaqueID, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_TypeOpaqueID, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  __Pyx_DOCSTR("\n        Represents an opaque type\n    "), /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5t_TypeOpaqueID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5t_TypeOpaqueID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  #if PY_VERSION_HEX >= 0x02060000
  0, /*tp_version_tag*/
  #endif
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID __pyx_vtable_4h5py_3h5t_TypeStringID;

static PyObject *__pyx_tp_new_4h5py_3h5t_TypeStringID(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4h5py_3h5t_TypeStringID *p;
  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
  if (!o) return 0;
  p = ((struct __pyx_obj_4h5py_3h5t_TypeStringID *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeStringID;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5t_TypeStringID[] = {
  {__Pyx_NAMESTR("is_variable_str"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_1is_variable_str, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_is_variable_str)},
  {__Pyx_NAMESTR("get_cset"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_3get_cset, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_2get_cset)},
  {__Pyx_NAMESTR("set_cset"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_5set_cset, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_4set_cset)},
  {__Pyx_NAMESTR("get_strpad"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_7get_strpad, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_6get_strpad)},
  {__Pyx_NAMESTR("set_strpad"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_9set_strpad, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_8set_strpad)},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_TypeStringID = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_divide*/
  #endif
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_nonzero*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_coerce*/
  #endif
  0, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_inplace_divide*/
  #endif
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  #if PY_VERSION_HEX >= 0x02050000
  0, /*nb_index*/
  #endif
};

static PySequenceMethods __pyx_tp_as_sequence_TypeStringID = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_TypeStringID = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_TypeStringID = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_getbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_releasebuffer*/
  #endif
};

static PyTypeObject __pyx_type_4h5py_3h5t_TypeStringID = {
  PyVarObject_HEAD_INIT(0, 0)
  __Pyx_NAMESTR("h5py.h5t.TypeStringID"), /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5t_TypeStringID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #else
  0, /*reserved*/
  #endif
  0, /*tp_repr*/
  &__pyx_tp_as_number_TypeStringID, /*tp_as_number*/
  &__pyx_tp_as_sequence_TypeStringID, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_TypeStringID, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_TypeStringID, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  __Pyx_DOCSTR("\n        String datatypes, both fixed and vlen.\n    "), /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5t_TypeStringID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5t_TypeStringID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  #if PY_VERSION_HEX >= 0x02060000
  0, /*tp_version_tag*/
  #endif
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID __pyx_vtable_4h5py_3h5t_TypeVlenID;

static PyObject *__pyx_tp_new_4h5py_3h5t_TypeVlenID(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4h5py_3h5t_TypeVlenID *p;
  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
  if (!o) return 0;
  p = ((struct __pyx_obj_4h5py_3h5t_TypeVlenID *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeVlenID;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5t_TypeVlenID[] = {
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_TypeVlenID = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_divide*/
  #endif
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_nonzero*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_coerce*/
  #endif
  0, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_inplace_divide*/
  #endif
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  #if PY_VERSION_HEX >= 0x02050000
  0, /*nb_index*/
  #endif
};

static PySequenceMethods __pyx_tp_as_sequence_TypeVlenID = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_TypeVlenID = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_TypeVlenID = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_getbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_releasebuffer*/
  #endif
};

static PyTypeObject __pyx_type_4h5py_3h5t_TypeVlenID = {
  PyVarObject_HEAD_INIT(0, 0)
  __Pyx_NAMESTR("h5py.h5t.TypeVlenID"), /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5t_TypeVlenID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #else
  0, /*reserved*/
  #endif
  0, /*tp_repr*/
  &__pyx_tp_as_number_TypeVlenID, /*tp_as_number*/
  &__pyx_tp_as_sequence_TypeVlenID, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_TypeVlenID, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_TypeVlenID, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  __Pyx_DOCSTR("\n        Non-string vlen datatypes.\n    "), /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5t_TypeVlenID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5t_TypeVlenID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  #if PY_VERSION_HEX >= 0x02060000
  0, /*tp_version_tag*/
  #endif
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID __pyx_vtable_4h5py_3h5t_TypeTimeID;

static PyObject *__pyx_tp_new_4h5py_3h5t_TypeTimeID(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4h5py_3h5t_TypeTimeID *p;
  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
  if (!o) return 0;
  p = ((struct __pyx_obj_4h5py_3h5t_TypeTimeID *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeTimeID;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5t_TypeTimeID[] = {
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_TypeTimeID = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_divide*/
  #endif
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_nonzero*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_coerce*/
  #endif
  0, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_inplace_divide*/
  #endif
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  #if PY_VERSION_HEX >= 0x02050000
  0, /*nb_index*/
  #endif
};

static PySequenceMethods __pyx_tp_as_sequence_TypeTimeID = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_TypeTimeID = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_TypeTimeID = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_getbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_releasebuffer*/
  #endif
};

static PyTypeObject __pyx_type_4h5py_3h5t_TypeTimeID = {
  PyVarObject_HEAD_INIT(0, 0)
  __Pyx_NAMESTR("h5py.h5t.TypeTimeID"), /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5t_TypeTimeID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #else
  0, /*reserved*/
  #endif
  0, /*tp_repr*/
  &__pyx_tp_as_number_TypeTimeID, /*tp_as_number*/
  &__pyx_tp_as_sequence_TypeTimeID, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_TypeTimeID, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_TypeTimeID, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  __Pyx_DOCSTR("\n        Unix-style time_t (deprecated)\n    "), /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5t_TypeTimeID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5t_TypeTimeID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  #if PY_VERSION_HEX >= 0x02060000
  0, /*tp_version_tag*/
  #endif
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID __pyx_vtable_4h5py_3h5t_TypeBitfieldID;

static PyObject *__pyx_tp_new_4h5py_3h5t_TypeBitfieldID(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4h5py_3h5t_TypeBitfieldID *p;
  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
  if (!o) return 0;
  p = ((struct __pyx_obj_4h5py_3h5t_TypeBitfieldID *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5t_TypeBitfieldID[] = {
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_TypeBitfieldID = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_divide*/
  #endif
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_nonzero*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_coerce*/
  #endif
  0, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_inplace_divide*/
  #endif
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  #if PY_VERSION_HEX >= 0x02050000
  0, /*nb_index*/
  #endif
};

static PySequenceMethods __pyx_tp_as_sequence_TypeBitfieldID = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_TypeBitfieldID = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_TypeBitfieldID = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_getbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_releasebuffer*/
  #endif
};

static PyTypeObject __pyx_type_4h5py_3h5t_TypeBitfieldID = {
  PyVarObject_HEAD_INIT(0, 0)
  __Pyx_NAMESTR("h5py.h5t.TypeBitfieldID"), /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5t_TypeBitfieldID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #else
  0, /*reserved*/
  #endif
  0, /*tp_repr*/
  &__pyx_tp_as_number_TypeBitfieldID, /*tp_as_number*/
  &__pyx_tp_as_sequence_TypeBitfieldID, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_TypeBitfieldID, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_TypeBitfieldID, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  __Pyx_DOCSTR("\n        HDF5 bitfield type\n    "), /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5t_TypeBitfieldID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5t_TypeBitfieldID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  #if PY_VERSION_HEX >= 0x02060000
  0, /*tp_version_tag*/
  #endif
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID __pyx_vtable_4h5py_3h5t_TypeReferenceID;

static PyObject *__pyx_tp_new_4h5py_3h5t_TypeReferenceID(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4h5py_3h5t_TypeReferenceID *p;
  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
  if (!o) return 0;
  p = ((struct __pyx_obj_4h5py_3h5t_TypeReferenceID *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeReferenceID;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5t_TypeReferenceID[] = {
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_TypeReferenceID = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_divide*/
  #endif
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_nonzero*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_coerce*/
  #endif
  0, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_inplace_divide*/
  #endif
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  #if PY_VERSION_HEX >= 0x02050000
  0, /*nb_index*/
  #endif
};

static PySequenceMethods __pyx_tp_as_sequence_TypeReferenceID = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_TypeReferenceID = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_TypeReferenceID = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_getbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_releasebuffer*/
  #endif
};

static PyTypeObject __pyx_type_4h5py_3h5t_TypeReferenceID = {
  PyVarObject_HEAD_INIT(0, 0)
  __Pyx_NAMESTR("h5py.h5t.TypeReferenceID"), /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5t_TypeReferenceID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #else
  0, /*reserved*/
  #endif
  0, /*tp_repr*/
  &__pyx_tp_as_number_TypeReferenceID, /*tp_as_number*/
  &__pyx_tp_as_sequence_TypeReferenceID, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_TypeReferenceID, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_TypeReferenceID, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  __Pyx_DOCSTR("\n        HDF5 object or region reference\n    "), /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5t_TypeReferenceID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5t_TypeReferenceID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  #if PY_VERSION_HEX >= 0x02060000
  0, /*tp_version_tag*/
  #endif
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_vtable_4h5py_3h5t_TypeAtomicID;

static PyObject *__pyx_tp_new_4h5py_3h5t_TypeAtomicID(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4h5py_3h5t_TypeAtomicID *p;
  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
  if (!o) return 0;
  p = ((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5t_TypeAtomicID[] = {
  {__Pyx_NAMESTR("get_order"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_1get_order, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_get_order)},
  {__Pyx_NAMESTR("set_order"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_3set_order, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_2set_order)},
  {__Pyx_NAMESTR("get_precision"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_5get_precision, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_4get_precision)},
  {__Pyx_NAMESTR("set_precision"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_7set_precision, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_6set_precision)},
  {__Pyx_NAMESTR("get_offset"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_9get_offset, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_8get_offset)},
  {__Pyx_NAMESTR("set_offset"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_11set_offset, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_10set_offset)},
  {__Pyx_NAMESTR("get_pad"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_13get_pad, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_12get_pad)},
  {__Pyx_NAMESTR("set_pad"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_15set_pad, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_14set_pad)},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_TypeAtomicID = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_divide*/
  #endif
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_nonzero*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_coerce*/
  #endif
  0, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_inplace_divide*/
  #endif
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  #if PY_VERSION_HEX >= 0x02050000
  0, /*nb_index*/
  #endif
};

static PySequenceMethods __pyx_tp_as_sequence_TypeAtomicID = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_TypeAtomicID = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_TypeAtomicID = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_getbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_releasebuffer*/
  #endif
};

static PyTypeObject __pyx_type_4h5py_3h5t_TypeAtomicID = {
  PyVarObject_HEAD_INIT(0, 0)
  __Pyx_NAMESTR("h5py.h5t.TypeAtomicID"), /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5t_TypeAtomicID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #else
  0, /*reserved*/
  #endif
  0, /*tp_repr*/
  &__pyx_tp_as_number_TypeAtomicID, /*tp_as_number*/
  &__pyx_tp_as_sequence_TypeAtomicID, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_TypeAtomicID, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_TypeAtomicID, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  __Pyx_DOCSTR("\n        Base class for atomic datatypes (float or integer)\n    "), /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5t_TypeAtomicID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5t_TypeAtomicID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  #if PY_VERSION_HEX >= 0x02060000
  0, /*tp_version_tag*/
  #endif
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID __pyx_vtable_4h5py_3h5t_TypeIntegerID;

static PyObject *__pyx_tp_new_4h5py_3h5t_TypeIntegerID(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4h5py_3h5t_TypeIntegerID *p;
  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
  if (!o) return 0;
  p = ((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeIntegerID;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5t_TypeIntegerID[] = {
  {__Pyx_NAMESTR("get_sign"), (PyCFunction)__pyx_pw_4h5py_3h5t_13TypeIntegerID_1get_sign, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_13TypeIntegerID_get_sign)},
  {__Pyx_NAMESTR("set_sign"), (PyCFunction)__pyx_pw_4h5py_3h5t_13TypeIntegerID_3set_sign, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_13TypeIntegerID_2set_sign)},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_TypeIntegerID = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_divide*/
  #endif
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_nonzero*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_coerce*/
  #endif
  0, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_inplace_divide*/
  #endif
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  #if PY_VERSION_HEX >= 0x02050000
  0, /*nb_index*/
  #endif
};

static PySequenceMethods __pyx_tp_as_sequence_TypeIntegerID = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_TypeIntegerID = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_TypeIntegerID = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_getbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_releasebuffer*/
  #endif
};

static PyTypeObject __pyx_type_4h5py_3h5t_TypeIntegerID = {
  PyVarObject_HEAD_INIT(0, 0)
  __Pyx_NAMESTR("h5py.h5t.TypeIntegerID"), /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5t_TypeIntegerID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #else
  0, /*reserved*/
  #endif
  0, /*tp_repr*/
  &__pyx_tp_as_number_TypeIntegerID, /*tp_as_number*/
  &__pyx_tp_as_sequence_TypeIntegerID, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_TypeIntegerID, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_TypeIntegerID, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  __Pyx_DOCSTR("\n        Integer atomic datatypes\n    "), /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5t_TypeIntegerID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5t_TypeIntegerID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  #if PY_VERSION_HEX >= 0x02060000
  0, /*tp_version_tag*/
  #endif
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID __pyx_vtable_4h5py_3h5t_TypeFloatID;

static PyObject *__pyx_tp_new_4h5py_3h5t_TypeFloatID(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4h5py_3h5t_TypeFloatID *p;
  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
  if (!o) return 0;
  p = ((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeFloatID;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5t_TypeFloatID[] = {
  {__Pyx_NAMESTR("get_fields"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_1get_fields, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_get_fields)},
  {__Pyx_NAMESTR("set_fields"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_3set_fields, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_2set_fields)},
  {__Pyx_NAMESTR("get_ebias"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_5get_ebias, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_4get_ebias)},
  {__Pyx_NAMESTR("set_ebias"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_7set_ebias, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_6set_ebias)},
  {__Pyx_NAMESTR("get_norm"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_9get_norm, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_8get_norm)},
  {__Pyx_NAMESTR("set_norm"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_11set_norm, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_10set_norm)},
  {__Pyx_NAMESTR("get_inpad"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_13get_inpad, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_12get_inpad)},
  {__Pyx_NAMESTR("set_inpad"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_15set_inpad, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_14set_inpad)},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_TypeFloatID = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_divide*/
  #endif
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_nonzero*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_coerce*/
  #endif
  0, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_inplace_divide*/
  #endif
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  #if PY_VERSION_HEX >= 0x02050000
  0, /*nb_index*/
  #endif
};

static PySequenceMethods __pyx_tp_as_sequence_TypeFloatID = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_TypeFloatID = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_TypeFloatID = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_getbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_releasebuffer*/
  #endif
};

static PyTypeObject __pyx_type_4h5py_3h5t_TypeFloatID = {
  PyVarObject_HEAD_INIT(0, 0)
  __Pyx_NAMESTR("h5py.h5t.TypeFloatID"), /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5t_TypeFloatID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #else
  0, /*reserved*/
  #endif
  0, /*tp_repr*/
  &__pyx_tp_as_number_TypeFloatID, /*tp_as_number*/
  &__pyx_tp_as_sequence_TypeFloatID, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_TypeFloatID, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_TypeFloatID, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  __Pyx_DOCSTR("\n        Floating-point atomic datatypes\n    "), /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5t_TypeFloatID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5t_TypeFloatID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  #if PY_VERSION_HEX >= 0x02060000
  0, /*tp_version_tag*/
  #endif
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_vtable_4h5py_3h5t_TypeCompositeID;

static PyObject *__pyx_tp_new_4h5py_3h5t_TypeCompositeID(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4h5py_3h5t_TypeCompositeID *p;
  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
  if (!o) return 0;
  p = ((struct __pyx_obj_4h5py_3h5t_TypeCompositeID *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5t_TypeCompositeID[] = {
  {__Pyx_NAMESTR("get_nmembers"), (PyCFunction)__pyx_pw_4h5py_3h5t_15TypeCompositeID_1get_nmembers, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_15TypeCompositeID_get_nmembers)},
  {__Pyx_NAMESTR("get_member_name"), (PyCFunction)__pyx_pw_4h5py_3h5t_15TypeCompositeID_3get_member_name, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_15TypeCompositeID_2get_member_name)},
  {__Pyx_NAMESTR("get_member_index"), (PyCFunction)__pyx_pw_4h5py_3h5t_15TypeCompositeID_5get_member_index, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_15TypeCompositeID_4get_member_index)},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_TypeCompositeID = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_divide*/
  #endif
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_nonzero*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_coerce*/
  #endif
  0, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_inplace_divide*/
  #endif
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  #if PY_VERSION_HEX >= 0x02050000
  0, /*nb_index*/
  #endif
};

static PySequenceMethods __pyx_tp_as_sequence_TypeCompositeID = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_TypeCompositeID = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_TypeCompositeID = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_getbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_releasebuffer*/
  #endif
};

static PyTypeObject __pyx_type_4h5py_3h5t_TypeCompositeID = {
  PyVarObject_HEAD_INIT(0, 0)
  __Pyx_NAMESTR("h5py.h5t.TypeCompositeID"), /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompositeID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #else
  0, /*reserved*/
  #endif
  0, /*tp_repr*/
  &__pyx_tp_as_number_TypeCompositeID, /*tp_as_number*/
  &__pyx_tp_as_sequence_TypeCompositeID, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_TypeCompositeID, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_TypeCompositeID, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  __Pyx_DOCSTR("\n        Base class for enumerated and compound types.\n    "), /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5t_TypeCompositeID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5t_TypeCompositeID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  #if PY_VERSION_HEX >= 0x02060000
  0, /*tp_version_tag*/
  #endif
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID __pyx_vtable_4h5py_3h5t_TypeEnumID;

static PyObject *__pyx_tp_new_4h5py_3h5t_TypeEnumID(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4h5py_3h5t_TypeEnumID *p;
  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
  if (!o) return 0;
  p = ((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeEnumID;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5t_TypeEnumID[] = {
  {__Pyx_NAMESTR("enum_insert"), (PyCFunction)__pyx_pw_4h5py_3h5t_10TypeEnumID_1enum_insert, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_enum_insert)},
  {__Pyx_NAMESTR("enum_nameof"), (PyCFunction)__pyx_pw_4h5py_3h5t_10TypeEnumID_3enum_nameof, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_2enum_nameof)},
  {__Pyx_NAMESTR("enum_valueof"), (PyCFunction)__pyx_pw_4h5py_3h5t_10TypeEnumID_5enum_valueof, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_4enum_valueof)},
  {__Pyx_NAMESTR("get_member_value"), (PyCFunction)__pyx_pw_4h5py_3h5t_10TypeEnumID_7get_member_value, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_6get_member_value)},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_TypeEnumID = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_divide*/
  #endif
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_nonzero*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_coerce*/
  #endif
  0, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_inplace_divide*/
  #endif
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  #if PY_VERSION_HEX >= 0x02050000
  0, /*nb_index*/
  #endif
};

static PySequenceMethods __pyx_tp_as_sequence_TypeEnumID = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_TypeEnumID = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_TypeEnumID = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_getbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_releasebuffer*/
  #endif
};

static PyTypeObject __pyx_type_4h5py_3h5t_TypeEnumID = {
  PyVarObject_HEAD_INIT(0, 0)
  __Pyx_NAMESTR("h5py.h5t.TypeEnumID"), /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5t_TypeEnumID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #else
  0, /*reserved*/
  #endif
  0, /*tp_repr*/
  &__pyx_tp_as_number_TypeEnumID, /*tp_as_number*/
  &__pyx_tp_as_sequence_TypeEnumID, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_TypeEnumID, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_TypeEnumID, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  __Pyx_DOCSTR("\n        Represents an enumerated type\n    "), /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5t_TypeEnumID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5t_TypeEnumID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  #if PY_VERSION_HEX >= 0x02060000
  0, /*tp_version_tag*/
  #endif
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID __pyx_vtable_4h5py_3h5t_TypeCompoundID;

static PyObject *__pyx_tp_new_4h5py_3h5t_TypeCompoundID(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4h5py_3h5t_TypeCompoundID *p;
  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
  if (!o) return 0;
  p = ((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)o);
  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeCompoundID;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5t_TypeCompoundID[] = {
  {__Pyx_NAMESTR("get_member_class"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_1get_member_class, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_get_member_class)},
  {__Pyx_NAMESTR("get_member_offset"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_3get_member_offset, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_2get_member_offset)},
  {__Pyx_NAMESTR("get_member_type"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_5get_member_type, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_4get_member_type)},
  {__Pyx_NAMESTR("insert"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_7insert, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_6insert)},
  {__Pyx_NAMESTR("pack"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_9pack, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_8pack)},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_TypeCompoundID = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_divide*/
  #endif
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_nonzero*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_coerce*/
  #endif
  0, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3
  0, /*nb_inplace_divide*/
  #endif
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  #if PY_VERSION_HEX >= 0x02050000
  0, /*nb_index*/
  #endif
};

static PySequenceMethods __pyx_tp_as_sequence_TypeCompoundID = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  0, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_TypeCompoundID = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_TypeCompoundID = {
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getreadbuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getwritebuffer*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getsegcount*/
  #endif
  #if PY_MAJOR_VERSION < 3
  0, /*bf_getcharbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_getbuffer*/
  #endif
  #if PY_VERSION_HEX >= 0x02060000
  0, /*bf_releasebuffer*/
  #endif
};

static PyTypeObject __pyx_type_4h5py_3h5t_TypeCompoundID = {
  PyVarObject_HEAD_INIT(0, 0)
  __Pyx_NAMESTR("h5py.h5t.TypeCompoundID"), /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompoundID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #else
  0, /*reserved*/
  #endif
  0, /*tp_repr*/
  &__pyx_tp_as_number_TypeCompoundID, /*tp_as_number*/
  &__pyx_tp_as_sequence_TypeCompoundID, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_TypeCompoundID, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_TypeCompoundID, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  __Pyx_DOCSTR("\n        Represents a compound datatype\n    "), /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5t_TypeCompoundID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5t_TypeCompoundID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  #if PY_VERSION_HEX >= 0x02060000
  0, /*tp_version_tag*/
  #endif
};

static PyMethodDef __pyx_methods[] = {
  {__Pyx_NAMESTR("typewrap"), (PyCFunction)__pyx_pw_4h5py_3h5t_1typewrap, METH_O, __Pyx_DOCSTR(0)},
  {__Pyx_NAMESTR("py_create"), (PyCFunction)__pyx_pw_4h5py_3h5t_15py_create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14py_create)},
  {__Pyx_NAMESTR("py_new_enum"), (PyCFunction)__pyx_pw_4h5py_3h5t_25py_new_enum, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_24py_new_enum)},
  {__Pyx_NAMESTR("py_get_enum"), (PyCFunction)__pyx_pw_4h5py_3h5t_27py_get_enum, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_26py_get_enum)},
  {__Pyx_NAMESTR("py_new_vlen"), (PyCFunction)__pyx_pw_4h5py_3h5t_29py_new_vlen, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_28py_new_vlen)},
  {__Pyx_NAMESTR("py_get_vlen"), (PyCFunction)__pyx_pw_4h5py_3h5t_31py_get_vlen, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_30py_get_vlen)},
  {0, 0, 0, 0}
};

#if PY_MAJOR_VERSION >= 3
static struct PyModuleDef __pyx_moduledef = {
  #if PY_VERSION_HEX < 0x03020000
    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
  #else
    PyModuleDef_HEAD_INIT,
  #endif
    __Pyx_NAMESTR("h5t"),
    __Pyx_DOCSTR(__pyx_k_49), /* m_doc */
    -1, /* m_size */
    __pyx_methods /* m_methods */,
    NULL, /* m_reload */
    NULL, /* m_traverse */
    NULL, /* m_clear */
    NULL /* m_free */
};
#endif

static __Pyx_StringTabEntry __pyx_string_tab[] = {
  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
  {&__pyx_kp_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 0},
  {&__pyx_kp_s_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 0},
  {&__pyx_kp_s_19, __pyx_k_19, sizeof(__pyx_k_19), 0, 0, 1, 0},
  {&__pyx_kp_s_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 0, 1, 0},
  {&__pyx_kp_s_25, __pyx_k_25, sizeof(__pyx_k_25), 0, 0, 1, 0},
  {&__pyx_kp_s_26, __pyx_k_26, sizeof(__pyx_k_26), 0, 0, 1, 0},
  {&__pyx_kp_s_27, __pyx_k_27, sizeof(__pyx_k_27), 0, 0, 1, 0},
  {&__pyx_kp_s_28, __pyx_k_28, sizeof(__pyx_k_28), 0, 0, 1, 0},
  {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0},
  {&__pyx_kp_s_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 0, 1, 0},
  {&__pyx_kp_s_32, __pyx_k_32, sizeof(__pyx_k_32), 0, 0, 1, 0},
  {&__pyx_kp_s_34, __pyx_k_34, sizeof(__pyx_k_34), 0, 0, 1, 0},
  {&__pyx_kp_s_35, __pyx_k_35, sizeof(__pyx_k_35), 0, 0, 1, 0},
  {&__pyx_kp_s_36, __pyx_k_36, sizeof(__pyx_k_36), 0, 0, 1, 0},
  {&__pyx_kp_s_38, __pyx_k_38, sizeof(__pyx_k_38), 0, 0, 1, 0},
  {&__pyx_kp_s_40, __pyx_k_40, sizeof(__pyx_k_40), 0, 0, 1, 0},
  {&__pyx_kp_s_42, __pyx_k_42, sizeof(__pyx_k_42), 0, 0, 1, 0},
  {&__pyx_kp_s_44, __pyx_k_44, sizeof(__pyx_k_44), 0, 0, 1, 0},
  {&__pyx_kp_s_46, __pyx_k_46, sizeof(__pyx_k_46), 0, 0, 1, 0},
  {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0},
  {&__pyx_kp_s_53, __pyx_k_53, sizeof(__pyx_k_53), 0, 0, 1, 0},
  {&__pyx_kp_s_54, __pyx_k_54, sizeof(__pyx_k_54), 0, 0, 1, 0},
  {&__pyx_kp_s_55, __pyx_k_55, sizeof(__pyx_k_55), 0, 0, 1, 0},
  {&__pyx_kp_s_58, __pyx_k_58, sizeof(__pyx_k_58), 0, 0, 1, 0},
  {&__pyx_n_s_59, __pyx_k_59, sizeof(__pyx_k_59), 0, 0, 1, 1},
  {&__pyx_kp_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 0},
  {&__pyx_kp_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 0},
  {&__pyx_kp_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 0},
  {&__pyx_kp_s__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 0, 1, 0},
  {&__pyx_n_s__ARRAY, __pyx_k__ARRAY, sizeof(__pyx_k__ARRAY), 0, 0, 1, 1},
  {&__pyx_n_s__BITFIELD, __pyx_k__BITFIELD, sizeof(__pyx_k__BITFIELD), 0, 0, 1, 1},
  {&__pyx_n_s__BKG_NO, __pyx_k__BKG_NO, sizeof(__pyx_k__BKG_NO), 0, 0, 1, 1},
  {&__pyx_n_s__BKG_TEMP, __pyx_k__BKG_TEMP, sizeof(__pyx_k__BKG_TEMP), 0, 0, 1, 1},
  {&__pyx_n_s__BKG_YES, __pyx_k__BKG_YES, sizeof(__pyx_k__BKG_YES), 0, 0, 1, 1},
  {&__pyx_n_s__COMPOUND, __pyx_k__COMPOUND, sizeof(__pyx_k__COMPOUND), 0, 0, 1, 1},
  {&__pyx_n_s__CSET_ASCII, __pyx_k__CSET_ASCII, sizeof(__pyx_k__CSET_ASCII), 0, 0, 1, 1},
  {&__pyx_n_s__CSET_UTF8, __pyx_k__CSET_UTF8, sizeof(__pyx_k__CSET_UTF8), 0, 0, 1, 1},
  {&__pyx_n_s__C_S1, __pyx_k__C_S1, sizeof(__pyx_k__C_S1), 0, 0, 1, 1},
  {&__pyx_n_s__DIR_ASCEND, __pyx_k__DIR_ASCEND, sizeof(__pyx_k__DIR_ASCEND), 0, 0, 1, 1},
  {&__pyx_n_s__DIR_DEFAULT, __pyx_k__DIR_DEFAULT, sizeof(__pyx_k__DIR_DEFAULT), 0, 0, 1, 1},
  {&__pyx_n_s__DIR_DESCEND, __pyx_k__DIR_DESCEND, sizeof(__pyx_k__DIR_DESCEND), 0, 0, 1, 1},
  {&__pyx_n_s__ENUM, __pyx_k__ENUM, sizeof(__pyx_k__ENUM), 0, 0, 1, 1},
  {&__pyx_n_s__FLOAT, __pyx_k__FLOAT, sizeof(__pyx_k__FLOAT), 0, 0, 1, 1},
  {&__pyx_n_s__FORTRAN_S1, __pyx_k__FORTRAN_S1, sizeof(__pyx_k__FORTRAN_S1), 0, 0, 1, 1},
  {&__pyx_n_s__IEEE_F16BE, __pyx_k__IEEE_F16BE, sizeof(__pyx_k__IEEE_F16BE), 0, 0, 1, 1},
  {&__pyx_n_s__IEEE_F16LE, __pyx_k__IEEE_F16LE, sizeof(__pyx_k__IEEE_F16LE), 0, 0, 1, 1},
  {&__pyx_n_s__IEEE_F32BE, __pyx_k__IEEE_F32BE, sizeof(__pyx_k__IEEE_F32BE), 0, 0, 1, 1},
  {&__pyx_n_s__IEEE_F32LE, __pyx_k__IEEE_F32LE, sizeof(__pyx_k__IEEE_F32LE), 0, 0, 1, 1},
  {&__pyx_n_s__IEEE_F64BE, __pyx_k__IEEE_F64BE, sizeof(__pyx_k__IEEE_F64BE), 0, 0, 1, 1},
  {&__pyx_n_s__IEEE_F64LE, __pyx_k__IEEE_F64LE, sizeof(__pyx_k__IEEE_F64LE), 0, 0, 1, 1},
  {&__pyx_n_s__INTEGER, __pyx_k__INTEGER, sizeof(__pyx_k__INTEGER), 0, 0, 1, 1},
  {&__pyx_n_s__KeyError, __pyx_k__KeyError, sizeof(__pyx_k__KeyError), 0, 0, 1, 1},
  {&__pyx_n_s__NATIVE_DOUBLE, __pyx_k__NATIVE_DOUBLE, sizeof(__pyx_k__NATIVE_DOUBLE), 0, 0, 1, 1},
  {&__pyx_n_s__NATIVE_FLOAT, __pyx_k__NATIVE_FLOAT, sizeof(__pyx_k__NATIVE_FLOAT), 0, 0, 1, 1},
  {&__pyx_n_s__NATIVE_INT16, __pyx_k__NATIVE_INT16, sizeof(__pyx_k__NATIVE_INT16), 0, 0, 1, 1},
  {&__pyx_n_s__NATIVE_INT32, __pyx_k__NATIVE_INT32, sizeof(__pyx_k__NATIVE_INT32), 0, 0, 1, 1},
  {&__pyx_n_s__NATIVE_INT64, __pyx_k__NATIVE_INT64, sizeof(__pyx_k__NATIVE_INT64), 0, 0, 1, 1},
  {&__pyx_n_s__NATIVE_INT8, __pyx_k__NATIVE_INT8, sizeof(__pyx_k__NATIVE_INT8), 0, 0, 1, 1},
  {&__pyx_n_s__NATIVE_UINT16, __pyx_k__NATIVE_UINT16, sizeof(__pyx_k__NATIVE_UINT16), 0, 0, 1, 1},
  {&__pyx_n_s__NATIVE_UINT32, __pyx_k__NATIVE_UINT32, sizeof(__pyx_k__NATIVE_UINT32), 0, 0, 1, 1},
  {&__pyx_n_s__NATIVE_UINT64, __pyx_k__NATIVE_UINT64, sizeof(__pyx_k__NATIVE_UINT64), 0, 0, 1, 1},
  {&__pyx_n_s__NATIVE_UINT8, __pyx_k__NATIVE_UINT8, sizeof(__pyx_k__NATIVE_UINT8), 0, 0, 1, 1},
  {&__pyx_n_s__NORM_IMPLIED, __pyx_k__NORM_IMPLIED, sizeof(__pyx_k__NORM_IMPLIED), 0, 0, 1, 1},
  {&__pyx_n_s__NORM_MSBSET, __pyx_k__NORM_MSBSET, sizeof(__pyx_k__NORM_MSBSET), 0, 0, 1, 1},
  {&__pyx_n_s__NORM_NONE, __pyx_k__NORM_NONE, sizeof(__pyx_k__NORM_NONE), 0, 0, 1, 1},
  {&__pyx_n_s__NO_CLASS, __pyx_k__NO_CLASS, sizeof(__pyx_k__NO_CLASS), 0, 0, 1, 1},
  {&__pyx_n_s__NotImplemented, __pyx_k__NotImplemented, sizeof(__pyx_k__NotImplemented), 0, 0, 1, 1},
  {&__pyx_n_s__NotImplementedError, __pyx_k__NotImplementedError, sizeof(__pyx_k__NotImplementedError), 0, 0, 1, 1},
  {&__pyx_n_s__O, __pyx_k__O, sizeof(__pyx_k__O), 0, 0, 1, 1},
  {&__pyx_n_s__OPAQUE, __pyx_k__OPAQUE, sizeof(__pyx_k__OPAQUE), 0, 0, 1, 1},
  {&__pyx_n_s__ORDER_BE, __pyx_k__ORDER_BE, sizeof(__pyx_k__ORDER_BE), 0, 0, 1, 1},
  {&__pyx_n_s__ORDER_LE, __pyx_k__ORDER_LE, sizeof(__pyx_k__ORDER_LE), 0, 0, 1, 1},
  {&__pyx_n_s__ORDER_NATIVE, __pyx_k__ORDER_NATIVE, sizeof(__pyx_k__ORDER_NATIVE), 0, 0, 1, 1},
  {&__pyx_n_s__ORDER_NONE, __pyx_k__ORDER_NONE, sizeof(__pyx_k__ORDER_NONE), 0, 0, 1, 1},
  {&__pyx_n_s__ORDER_VAX, __pyx_k__ORDER_VAX, sizeof(__pyx_k__ORDER_VAX), 0, 0, 1, 1},
  {&__pyx_n_s__PAD_BACKGROUND, __pyx_k__PAD_BACKGROUND, sizeof(__pyx_k__PAD_BACKGROUND), 0, 0, 1, 1},
  {&__pyx_n_s__PAD_ONE, __pyx_k__PAD_ONE, sizeof(__pyx_k__PAD_ONE), 0, 0, 1, 1},
  {&__pyx_n_s__PAD_ZERO, __pyx_k__PAD_ZERO, sizeof(__pyx_k__PAD_ZERO), 0, 0, 1, 1},
  {&__pyx_n_s__PY3, __pyx_k__PY3, sizeof(__pyx_k__PY3), 0, 0, 1, 1},
  {&__pyx_n_s__PYTHON_OBJECT, __pyx_k__PYTHON_OBJECT, sizeof(__pyx_k__PYTHON_OBJECT), 0, 0, 1, 1},
  {&__pyx_n_s__REFERENCE, __pyx_k__REFERENCE, sizeof(__pyx_k__REFERENCE), 0, 0, 1, 1},
  {&__pyx_n_s__SGN_2, __pyx_k__SGN_2, sizeof(__pyx_k__SGN_2), 0, 0, 1, 1},
  {&__pyx_n_s__SGN_NONE, __pyx_k__SGN_NONE, sizeof(__pyx_k__SGN_NONE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_I16BE, __pyx_k__STD_I16BE, sizeof(__pyx_k__STD_I16BE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_I16LE, __pyx_k__STD_I16LE, sizeof(__pyx_k__STD_I16LE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_I32BE, __pyx_k__STD_I32BE, sizeof(__pyx_k__STD_I32BE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_I32LE, __pyx_k__STD_I32LE, sizeof(__pyx_k__STD_I32LE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_I64BE, __pyx_k__STD_I64BE, sizeof(__pyx_k__STD_I64BE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_I64LE, __pyx_k__STD_I64LE, sizeof(__pyx_k__STD_I64LE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_I8BE, __pyx_k__STD_I8BE, sizeof(__pyx_k__STD_I8BE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_I8LE, __pyx_k__STD_I8LE, sizeof(__pyx_k__STD_I8LE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_REF_DSETREG, __pyx_k__STD_REF_DSETREG, sizeof(__pyx_k__STD_REF_DSETREG), 0, 0, 1, 1},
  {&__pyx_n_s__STD_REF_OBJ, __pyx_k__STD_REF_OBJ, sizeof(__pyx_k__STD_REF_OBJ), 0, 0, 1, 1},
  {&__pyx_n_s__STD_U16BE, __pyx_k__STD_U16BE, sizeof(__pyx_k__STD_U16BE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_U16LE, __pyx_k__STD_U16LE, sizeof(__pyx_k__STD_U16LE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_U32BE, __pyx_k__STD_U32BE, sizeof(__pyx_k__STD_U32BE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_U32LE, __pyx_k__STD_U32LE, sizeof(__pyx_k__STD_U32LE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_U64BE, __pyx_k__STD_U64BE, sizeof(__pyx_k__STD_U64BE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_U64LE, __pyx_k__STD_U64LE, sizeof(__pyx_k__STD_U64LE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_U8BE, __pyx_k__STD_U8BE, sizeof(__pyx_k__STD_U8BE), 0, 0, 1, 1},
  {&__pyx_n_s__STD_U8LE, __pyx_k__STD_U8LE, sizeof(__pyx_k__STD_U8LE), 0, 0, 1, 1},
  {&__pyx_n_s__STRING, __pyx_k__STRING, sizeof(__pyx_k__STRING), 0, 0, 1, 1},
  {&__pyx_n_s__STR_NULLPAD, __pyx_k__STR_NULLPAD, sizeof(__pyx_k__STR_NULLPAD), 0, 0, 1, 1},
  {&__pyx_n_s__STR_NULLTERM, __pyx_k__STR_NULLTERM, sizeof(__pyx_k__STR_NULLTERM), 0, 0, 1, 1},
  {&__pyx_n_s__STR_SPACEPAD, __pyx_k__STR_SPACEPAD, sizeof(__pyx_k__STR_SPACEPAD), 0, 0, 1, 1},
  {&__pyx_n_s__TIME, __pyx_k__TIME, sizeof(__pyx_k__TIME), 0, 0, 1, 1},
  {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
  {&__pyx_n_s__UNIX_D32BE, __pyx_k__UNIX_D32BE, sizeof(__pyx_k__UNIX_D32BE), 0, 0, 1, 1},
  {&__pyx_n_s__UNIX_D32LE, __pyx_k__UNIX_D32LE, sizeof(__pyx_k__UNIX_D32LE), 0, 0, 1, 1},
  {&__pyx_n_s__UNIX_D64BE, __pyx_k__UNIX_D64BE, sizeof(__pyx_k__UNIX_D64BE), 0, 0, 1, 1},
  {&__pyx_n_s__UNIX_D64LE, __pyx_k__UNIX_D64LE, sizeof(__pyx_k__UNIX_D64LE), 0, 0, 1, 1},
  {&__pyx_n_s__UnicodeDecodeError, __pyx_k__UnicodeDecodeError, sizeof(__pyx_k__UnicodeDecodeError), 0, 0, 1, 1},
  {&__pyx_n_s__VARIABLE, __pyx_k__VARIABLE, sizeof(__pyx_k__VARIABLE), 0, 0, 1, 1},
  {&__pyx_n_s__VLEN, __pyx_k__VLEN, sizeof(__pyx_k__VLEN), 0, 0, 1, 1},
  {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
  {&__pyx_n_s____class__, __pyx_k____class__, sizeof(__pyx_k____class__), 0, 0, 1, 1},
  {&__pyx_n_s____copy__, __pyx_k____copy__, sizeof(__pyx_k____copy__), 0, 0, 1, 1},
  {&__pyx_n_s____hash__, __pyx_k____hash__, sizeof(__pyx_k____hash__), 0, 0, 1, 1},
  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
  {&__pyx_n_s____name__, __pyx_k____name__, sizeof(__pyx_k____name__), 0, 0, 1, 1},
  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
  {&__pyx_n_s___conv, __pyx_k___conv, sizeof(__pyx_k___conv), 0, 0, 1, 1},
  {&__pyx_n_s___f_name, __pyx_k___f_name, sizeof(__pyx_k___f_name), 0, 0, 1, 1},
  {&__pyx_n_s___i_name, __pyx_k___i_name, sizeof(__pyx_k___i_name), 0, 0, 1, 1},
  {&__pyx_n_s___r_name, __pyx_k___r_name, sizeof(__pyx_k___r_name), 0, 0, 1, 1},
  {&__pyx_n_s___t_name, __pyx_k___t_name, sizeof(__pyx_k___t_name), 0, 0, 1, 1},
  {&__pyx_n_s__array_create, __pyx_k__array_create, sizeof(__pyx_k__array_create), 0, 0, 1, 1},
  {&__pyx_n_s__ascii, __pyx_k__ascii, sizeof(__pyx_k__ascii), 0, 0, 1, 1},
  {&__pyx_n_s__base, __pyx_k__base, sizeof(__pyx_k__base), 0, 0, 1, 1},
  {&__pyx_n_s__bkg, __pyx_k__bkg, sizeof(__pyx_k__bkg), 0, 0, 1, 1},
  {&__pyx_n_s__bkg_, __pyx_k__bkg_, sizeof(__pyx_k__bkg_), 0, 0, 1, 1},
  {&__pyx_n_s__bool, __pyx_k__bool, sizeof(__pyx_k__bool), 0, 0, 1, 1},
  {&__pyx_n_s__buf, __pyx_k__buf, sizeof(__pyx_k__buf), 0, 0, 1, 1},
  {&__pyx_n_s__buf_, __pyx_k__buf_, sizeof(__pyx_k__buf_), 0, 0, 1, 1},
  {&__pyx_n_s__byteorder, __pyx_k__byteorder, sizeof(__pyx_k__byteorder), 0, 0, 1, 1},
  {&__pyx_n_s__c, __pyx_k__c, sizeof(__pyx_k__c), 0, 0, 1, 1},
  {&__pyx_n_s__cfg, __pyx_k__cfg, sizeof(__pyx_k__cfg), 0, 0, 1, 1},
  {&__pyx_n_s__check_dtype, __pyx_k__check_dtype, sizeof(__pyx_k__check_dtype), 0, 0, 1, 1},
  {&__pyx_n_s__classtype, __pyx_k__classtype, sizeof(__pyx_k__classtype), 0, 0, 1, 1},
  {&__pyx_n_s__convert, __pyx_k__convert, sizeof(__pyx_k__convert), 0, 0, 1, 1},
  {&__pyx_n_s__copy, __pyx_k__copy, sizeof(__pyx_k__copy), 0, 0, 1, 1},
  {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1},
  {&__pyx_n_s__data, __pyx_k__data, sizeof(__pyx_k__data), 0, 0, 1, 1},
  {&__pyx_n_s__decode, __pyx_k__decode, sizeof(__pyx_k__decode), 0, 0, 1, 1},
  {&__pyx_n_s__detect_class, __pyx_k__detect_class, sizeof(__pyx_k__detect_class), 0, 0, 1, 1},
  {&__pyx_n_s__dims, __pyx_k__dims, sizeof(__pyx_k__dims), 0, 0, 1, 1},
  {&__pyx_n_s__dims_tpl, __pyx_k__dims_tpl, sizeof(__pyx_k__dims_tpl), 0, 0, 1, 1},
  {&__pyx_n_s__dst, __pyx_k__dst, sizeof(__pyx_k__dst), 0, 0, 1, 1},
  {&__pyx_n_s__dt, __pyx_k__dt, sizeof(__pyx_k__dt), 0, 0, 1, 1},
  {&__pyx_n_s__dt_in, __pyx_k__dt_in, sizeof(__pyx_k__dt_in), 0, 0, 1, 1},
  {&__pyx_n_s__dtype, __pyx_k__dtype, sizeof(__pyx_k__dtype), 0, 0, 1, 1},
  {&__pyx_n_s__dtype_in, __pyx_k__dtype_in, sizeof(__pyx_k__dtype_in), 0, 0, 1, 1},
  {&__pyx_n_s__dxpl, __pyx_k__dxpl, sizeof(__pyx_k__dxpl), 0, 0, 1, 1},
  {&__pyx_n_s__encode, __pyx_k__encode, sizeof(__pyx_k__encode), 0, 0, 1, 1},
  {&__pyx_n_s__enum, __pyx_k__enum, sizeof(__pyx_k__enum), 0, 0, 1, 1},
  {&__pyx_n_s__enum_create, __pyx_k__enum_create, sizeof(__pyx_k__enum_create), 0, 0, 1, 1},
  {&__pyx_n_s__enum_insert, __pyx_k__enum_insert, sizeof(__pyx_k__enum_insert), 0, 0, 1, 1},
  {&__pyx_n_s__enum_vals, __pyx_k__enum_vals, sizeof(__pyx_k__enum_vals), 0, 0, 1, 1},
  {&__pyx_n_s__epos, __pyx_k__epos, sizeof(__pyx_k__epos), 0, 0, 1, 1},
  {&__pyx_n_s__equal, __pyx_k__equal, sizeof(__pyx_k__equal), 0, 0, 1, 1},
  {&__pyx_n_s__esize, __pyx_k__esize, sizeof(__pyx_k__esize), 0, 0, 1, 1},
  {&__pyx_n_s__f, __pyx_k__f, sizeof(__pyx_k__f), 0, 0, 1, 1},
  {&__pyx_n_s__f4, __pyx_k__f4, sizeof(__pyx_k__f4), 0, 0, 1, 1},
  {&__pyx_n_s__field, __pyx_k__field, sizeof(__pyx_k__field), 0, 0, 1, 1},
  {&__pyx_n_s__fields, __pyx_k__fields, sizeof(__pyx_k__fields), 0, 0, 1, 1},
  {&__pyx_n_s__find, __pyx_k__find, sizeof(__pyx_k__find), 0, 0, 1, 1},
  {&__pyx_n_s__float16, __pyx_k__float16, sizeof(__pyx_k__float16), 0, 0, 1, 1},
  {&__pyx_n_s__get_array_dims, __pyx_k__get_array_dims, sizeof(__pyx_k__get_array_dims), 0, 0, 1, 1},
  {&__pyx_n_s__get_config, __pyx_k__get_config, sizeof(__pyx_k__get_config), 0, 0, 1, 1},
  {&__pyx_n_s__get_cset, __pyx_k__get_cset, sizeof(__pyx_k__get_cset), 0, 0, 1, 1},
  {&__pyx_n_s__get_member_name, __pyx_k__get_member_name, sizeof(__pyx_k__get_member_name), 0, 0, 1, 1},
  {&__pyx_n_s__get_member_type, __pyx_k__get_member_type, sizeof(__pyx_k__get_member_type), 0, 0, 1, 1},
  {&__pyx_n_s__get_member_value, __pyx_k__get_member_value, sizeof(__pyx_k__get_member_value), 0, 0, 1, 1},
  {&__pyx_n_s__get_nmembers, __pyx_k__get_nmembers, sizeof(__pyx_k__get_nmembers), 0, 0, 1, 1},
  {&__pyx_n_s__get_order, __pyx_k__get_order, sizeof(__pyx_k__get_order), 0, 0, 1, 1},
  {&__pyx_n_s__get_python_obj, __pyx_k__get_python_obj, sizeof(__pyx_k__get_python_obj), 0, 0, 1, 1},
  {&__pyx_n_s__get_sign, __pyx_k__get_sign, sizeof(__pyx_k__get_sign), 0, 0, 1, 1},
  {&__pyx_n_s__get_size, __pyx_k__get_size, sizeof(__pyx_k__get_size), 0, 0, 1, 1},
  {&__pyx_n_s__get_super, __pyx_k__get_super, sizeof(__pyx_k__get_super), 0, 0, 1, 1},
  {&__pyx_n_s__group, __pyx_k__group, sizeof(__pyx_k__group), 0, 0, 1, 1},
  {&__pyx_n_s__h5, __pyx_k__h5, sizeof(__pyx_k__h5), 0, 0, 1, 1},
  {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1},
  {&__pyx_n_s__hint_dict, __pyx_k__hint_dict, sizeof(__pyx_k__hint_dict), 0, 0, 1, 1},
  {&__pyx_n_s__hintkey, __pyx_k__hintkey, sizeof(__pyx_k__hintkey), 0, 0, 1, 1},
  {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1},
  {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1},
  {&__pyx_n_s__is_variable_str, __pyx_k__is_variable_str, sizeof(__pyx_k__is_variable_str), 0, 0, 1, 1},
  {&__pyx_n_s__itemsize, __pyx_k__itemsize, sizeof(__pyx_k__itemsize), 0, 0, 1, 1},
  {&__pyx_n_s__iteritems, __pyx_k__iteritems, sizeof(__pyx_k__iteritems), 0, 0, 1, 1},
  {&__pyx_n_s__iu, __pyx_k__iu, sizeof(__pyx_k__iu), 0, 0, 1, 1},
  {&__pyx_n_s__kind, __pyx_k__kind, sizeof(__pyx_k__kind), 0, 0, 1, 1},
  {&__pyx_n_s__kwds, __pyx_k__kwds, sizeof(__pyx_k__kwds), 0, 0, 1, 1},
  {&__pyx_n_s__lcpl, __pyx_k__lcpl, sizeof(__pyx_k__lcpl), 0, 0, 1, 1},
  {&__pyx_n_s__little, __pyx_k__little, sizeof(__pyx_k__little), 0, 0, 1, 1},
  {&__pyx_n_s__lock, __pyx_k__lock, sizeof(__pyx_k__lock), 0, 0, 1, 1},
  {&__pyx_n_s__logical, __pyx_k__logical, sizeof(__pyx_k__logical), 0, 0, 1, 1},
  {&__pyx_n_s__longdouble, __pyx_k__longdouble, sizeof(__pyx_k__longdouble), 0, 0, 1, 1},
  {&__pyx_n_s__lsb, __pyx_k__lsb, sizeof(__pyx_k__lsb), 0, 0, 1, 1},
  {&__pyx_n_s__mpos, __pyx_k__mpos, sizeof(__pyx_k__mpos), 0, 0, 1, 1},
  {&__pyx_n_s__msb, __pyx_k__msb, sizeof(__pyx_k__msb), 0, 0, 1, 1},
  {&__pyx_n_s__msize, __pyx_k__msize, sizeof(__pyx_k__msize), 0, 0, 1, 1},
  {&__pyx_n_s__n, __pyx_k__n, sizeof(__pyx_k__n), 0, 0, 1, 1},
  {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
  {&__pyx_n_s__names, __pyx_k__names, sizeof(__pyx_k__names), 0, 0, 1, 1},
  {&__pyx_n_s__np, __pyx_k__np, sizeof(__pyx_k__np), 0, 0, 1, 1},
  {&__pyx_n_s__numpy, __pyx_k__numpy, sizeof(__pyx_k__numpy), 0, 0, 1, 1},
  {&__pyx_n_s__offset, __pyx_k__offset, sizeof(__pyx_k__offset), 0, 0, 1, 1},
  {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1},
  {&__pyx_n_s__popitem, __pyx_k__popitem, sizeof(__pyx_k__popitem), 0, 0, 1, 1},
  {&__pyx_n_s__py_create, __pyx_k__py_create, sizeof(__pyx_k__py_create), 0, 0, 1, 1},
  {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1},
  {&__pyx_n_s__rank, __pyx_k__rank, sizeof(__pyx_k__rank), 0, 0, 1, 1},
  {&__pyx_n_s__ref, __pyx_k__ref, sizeof(__pyx_k__ref), 0, 0, 1, 1},
  {&__pyx_n_s__result, __pyx_k__result, sizeof(__pyx_k__result), 0, 0, 1, 1},
  {&__pyx_n_s__set_ebias, __pyx_k__set_ebias, sizeof(__pyx_k__set_ebias), 0, 0, 1, 1},
  {&__pyx_n_s__set_fields, __pyx_k__set_fields, sizeof(__pyx_k__set_fields), 0, 0, 1, 1},
  {&__pyx_n_s__set_order, __pyx_k__set_order, sizeof(__pyx_k__set_order), 0, 0, 1, 1},
  {&__pyx_n_s__set_size, __pyx_k__set_size, sizeof(__pyx_k__set_size), 0, 0, 1, 1},
  {&__pyx_n_s__size, __pyx_k__size, sizeof(__pyx_k__size), 0, 0, 1, 1},
  {&__pyx_n_s__sorted, __pyx_k__sorted, sizeof(__pyx_k__sorted), 0, 0, 1, 1},
  {&__pyx_n_s__special_dtype, __pyx_k__special_dtype, sizeof(__pyx_k__special_dtype), 0, 0, 1, 1},
  {&__pyx_n_s__spos, __pyx_k__spos, sizeof(__pyx_k__spos), 0, 0, 1, 1},
  {&__pyx_n_s__src, __pyx_k__src, sizeof(__pyx_k__src), 0, 0, 1, 1},
  {&__pyx_n_s__str, __pyx_k__str, sizeof(__pyx_k__str), 0, 0, 1, 1},
  {&__pyx_n_s__subdtype, __pyx_k__subdtype, sizeof(__pyx_k__subdtype), 0, 0, 1, 1},
  {&__pyx_n_s__sys, __pyx_k__sys, sizeof(__pyx_k__sys), 0, 0, 1, 1},
  {&__pyx_n_s__tpl, __pyx_k__tpl, sizeof(__pyx_k__tpl), 0, 0, 1, 1},
  {&__pyx_n_s__type, __pyx_k__type, sizeof(__pyx_k__type), 0, 0, 1, 1},
  {&__pyx_n_s__u, __pyx_k__u, sizeof(__pyx_k__u), 0, 0, 1, 1},
  {&__pyx_n_s__utf8, __pyx_k__utf8, sizeof(__pyx_k__utf8), 0, 0, 1, 1},
  {&__pyx_n_s__val, __pyx_k__val, sizeof(__pyx_k__val), 0, 0, 1, 1},
  {&__pyx_n_s__vals, __pyx_k__vals, sizeof(__pyx_k__vals), 0, 0, 1, 1},
  {&__pyx_n_s__value, __pyx_k__value, sizeof(__pyx_k__value), 0, 0, 1, 1},
  {&__pyx_n_s__version, __pyx_k__version, sizeof(__pyx_k__version), 0, 0, 1, 1},
  {&__pyx_n_s__version_info, __pyx_k__version_info, sizeof(__pyx_k__version_info), 0, 0, 1, 1},
  {&__pyx_n_s__vlen, __pyx_k__vlen, sizeof(__pyx_k__vlen), 0, 0, 1, 1},
  {&__pyx_n_s__vlen_create, __pyx_k__vlen_create, sizeof(__pyx_k__vlen_create), 0, 0, 1, 1},
  {&__pyx_n_s__warnings, __pyx_k__warnings, sizeof(__pyx_k__warnings), 0, 0, 1, 1},
  {&__pyx_n_s__xrange, __pyx_k__xrange, sizeof(__pyx_k__xrange), 0, 0, 1, 1},
  {&__pyx_n_s__zip, __pyx_k__zip, sizeof(__pyx_k__zip), 0, 0, 1, 1},
  {0, 0, 0, 0, 0, 0, 0}
};
static int __Pyx_InitCachedBuiltins(void) {
  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_builtin_NotImplemented = __Pyx_GetName(__pyx_b, __pyx_n_s__NotImplemented); if (!__pyx_builtin_NotImplemented) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_builtin_zip = __Pyx_GetName(__pyx_b, __pyx_n_s__zip); if (!__pyx_builtin_zip) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #if PY_MAJOR_VERSION >= 3
  __pyx_builtin_xrange = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #else
  __pyx_builtin_xrange = __Pyx_GetName(__pyx_b, __pyx_n_s__xrange); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #endif
  __pyx_builtin_UnicodeDecodeError = __Pyx_GetName(__pyx_b, __pyx_n_s__UnicodeDecodeError); if (!__pyx_builtin_UnicodeDecodeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_builtin_KeyError = __Pyx_GetName(__pyx_b, __pyx_n_s__KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_builtin_sorted = __Pyx_GetName(__pyx_b, __pyx_n_s__sorted); if (!__pyx_builtin_sorted) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_builtin_NotImplementedError = __Pyx_GetName(__pyx_b, __pyx_n_s__NotImplementedError); if (!__pyx_builtin_NotImplementedError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  return 0;
  __pyx_L1_error:;
  return -1;
}

static int __Pyx_InitCachedConstants(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);

  /* "h5py/h5t.pyx":228
 *     # HDF5 versions 1.6.X segfault with anything else
 *     if classtype != H5T_COMPOUND and classtype != H5T_OPAQUE:
 *         raise ValueError("Class must be COMPOUND or OPAQUE.")             # <<<<<<<<<<<<<<
 * 
 *     return typewrap(H5Tcreate(<H5T_class_t>classtype, size))
 */
  __pyx_k_tuple_2 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_1)); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_2);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2));

  /* "h5py/h5t.pyx":310
 *                     self._hash = hash(self.encode())
 *                 else:
 *                     raise TypeError("Only locked or committed types can be hashed")             # <<<<<<<<<<<<<<
 * 
 *         return self._hash
 */
  __pyx_k_tuple_4 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_3)); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_4);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4));

  /* "h5py/h5t.pyx":459
 * 
 *     def __reduce__(self):
 *         return (type(self), (-1,), self.encode())             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_k_tuple_6 = PyTuple_Pack(1, __pyx_int_neg_1); if (unlikely(!__pyx_k_tuple_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_6);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_6));

  /* "h5py/h5t.pyx":655
 *             return special_dtype(ref=RegionReference)
 *         else:
 *             raise TypeError("Unknown reference type")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_k_tuple_11 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_10)); if (unlikely(!__pyx_k_tuple_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_11);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_11));

  /* "h5py/h5t.pyx":896
 *         if size > 8:
 *             # The native NumPy longdouble is used for 96 and 128-bit floats
 *             return dtype(order + "f" + str(np.longdouble(1).dtype.itemsize))             # <<<<<<<<<<<<<<
 * 
 *         return dtype( _order_map[self.get_order()] + "f" + \
 */
  __pyx_k_tuple_12 = PyTuple_Pack(1, __pyx_int_1); if (unlikely(!__pyx_k_tuple_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_12);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_12));

  /* "h5py/h5t.pyx":929
 * 
 *         if member < 0:
 *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
 * 
 *         try:
 */
  __pyx_k_tuple_14 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_13)); if (unlikely(!__pyx_k_tuple_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_14);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_14));

  /* "h5py/h5t.pyx":965
 *         """
 *         if member < 0:
 *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
 *         return H5Tget_member_class(self.id, member)
 * 
 */
  __pyx_k_tuple_15 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_13)); if (unlikely(!__pyx_k_tuple_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_15);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_15));

  /* "h5py/h5t.pyx":977
 *         """
 *         if member < 0:
 *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
 *         return H5Tget_member_offset(self.id, member)
 * 
 */
  __pyx_k_tuple_16 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_13)); if (unlikely(!__pyx_k_tuple_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_16);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_16));

  /* "h5py/h5t.pyx":988
 *         """
 *         if member < 0:
 *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
 *         return typewrap(H5Tget_member_type(self.id, member))
 * 
 */
  __pyx_k_tuple_17 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_13)); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_17);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17));

  /* "h5py/h5t.pyx":1043
 *         else:
 *             if sys.version[0] == '3':
 *                 field_names = [x.decode('utf8') for x in field_names]             # <<<<<<<<<<<<<<
 *             typeobj = dtype(list(zip(field_names, field_types)))
 * 
 */
  __pyx_k_tuple_18 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__utf8)); if (unlikely(!__pyx_k_tuple_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_18);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_18));

  /* "h5py/h5t.pyx":1135
 * 
 *         if idx < 0:
 *             raise ValueError("Index must be non-negative.")             # <<<<<<<<<<<<<<
 * 
 *         H5Tget_member_value(self.id, idx, &val)
 */
  __pyx_k_tuple_21 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_20)); if (unlikely(!__pyx_k_tuple_21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_21);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_21));

  /* "h5py/h5t.pyx":1158
 *         # Boolean types have priority over standard enums
 *         if members == ref:
 *             return dtype('bool')             # <<<<<<<<<<<<<<
 * 
 *         # Convert strings to appropriate representation
 */
  __pyx_k_tuple_22 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__bool)); if (unlikely(!__pyx_k_tuple_22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_22);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_22));

  /* "h5py/h5t.pyx":1164
 *         for name, val in members.iteritems():
 *             try:    # ASCII; Py2 -> preserve bytes, Py3 -> make unicode
 *                 uname = name.decode('ascii')             # <<<<<<<<<<<<<<
 *                 if PY3:
 *                     name = uname
 */
  __pyx_k_tuple_23 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__ascii)); if (unlikely(!__pyx_k_tuple_23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_23);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_23));

  /* "h5py/h5t.pyx":1169
 *             except UnicodeDecodeError:
 *                 try:    # Non-ascii; all platforms try unicode
 *                     name = name.decode('utf8')             # <<<<<<<<<<<<<<
 *                 except UnicodeDecodeError:
 *                     pass    # Last resort: return byte string
 */
  __pyx_k_tuple_24 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__utf8)); if (unlikely(!__pyx_k_tuple_24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_24);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_24));

  /* "h5py/h5t.pyx":1277
 *             shape = (int(shape),)
 *         except TypeError:
 *             raise TypeError("Array shape for dtype must be a sequence or integer")             # <<<<<<<<<<<<<<
 *     type_base = py_create(base, logical=logical)
 *     return array_create(type_base, shape)
 */
  __pyx_k_tuple_29 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_28)); if (unlikely(!__pyx_k_tuple_29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_29);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_29));

  /* "h5py/h5t.pyx":1349
 *     offset = 0
 *     for name in names:
 *         ename = name.encode('utf8') if isinstance(name, unicode) else name             # <<<<<<<<<<<<<<
 *         dt_tmp = dt.fields[name][0]
 *         type_tmp = py_create(dt_tmp, logical=logical)
 */
  __pyx_k_tuple_31 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__utf8)); if (unlikely(!__pyx_k_tuple_31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_31);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_31));

  /* "h5py/h5t.pyx":1377
 *     elif refclass is RegionReference:
 *         return STD_REF_DSETREG
 *     raise TypeError("Unrecognized reference code")             # <<<<<<<<<<<<<<
 * 
 * cpdef TypeID py_create(object dtype_in, bint logical=0):
 */
  __pyx_k_tuple_33 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_32)); if (unlikely(!__pyx_k_tuple_33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_33);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_33));

  /* "h5py/h5t.pyx":1480
 * 
 *     if len(kwds) != 1:
 *         raise TypeError("Exactly one keyword may be provided")             # <<<<<<<<<<<<<<
 * 
 *     name, val = kwds.popitem()
 */
  __pyx_k_tuple_37 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_36)); if (unlikely(!__pyx_k_tuple_37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_37);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_37));

  /* "h5py/h5t.pyx":1486
 *     if name == 'vlen':
 *         if val not in (bytes, unicode):
 *             raise NotImplementedError("Only byte or unicode string vlens are currently supported")             # <<<<<<<<<<<<<<
 * 
 *         return dtype(('O', [( ({'type': val},'vlen'), 'O' )] ))
 */
  __pyx_k_tuple_39 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_38)); if (unlikely(!__pyx_k_tuple_39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_39);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_39));

  /* "h5py/h5t.pyx":1495
 *             dt, enum_vals = val
 *         except TypeError:
 *             raise TypeError("Enums must be created from a 2-tuple (basetype, values_dict)")             # <<<<<<<<<<<<<<
 * 
 *         dt = dtype(dt)
 */
  __pyx_k_tuple_41 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_40)); if (unlikely(!__pyx_k_tuple_41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_41);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_41));

  /* "h5py/h5t.pyx":1499
 *         dt = dtype(dt)
 *         if dt.kind not in "iu":
 *             raise TypeError("Only integer types can be used as enums")             # <<<<<<<<<<<<<<
 * 
 *         return dtype((dt, [( ({'vals': enum_vals},'enum'), dt )] ))
 */
  __pyx_k_tuple_43 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_42)); if (unlikely(!__pyx_k_tuple_43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_43);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_43));

  /* "h5py/h5t.pyx":1506
 * 
 *         if val not in (Reference, RegionReference):
 *             raise ValueError("Ref class must be Reference or RegionReference")             # <<<<<<<<<<<<<<
 * 
 *         return dtype(('O', [( ({'type': val},'ref'), 'O' )] ))
 */
  __pyx_k_tuple_45 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_44)); if (unlikely(!__pyx_k_tuple_45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_45);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_45));

  /* "h5py/h5t.pyx":1533
 * 
 *     if len(kwds) != 1:
 *         raise TypeError("Exactly one keyword may be provided")             # <<<<<<<<<<<<<<
 * 
 *     name, dt = kwds.popitem()
 */
  __pyx_k_tuple_47 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_36)); if (unlikely(!__pyx_k_tuple_47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_47);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_47));

  /* "h5py/h5t.pyx":202
 * # Mini floats
 * IEEE_F16BE = IEEE_F32BE.copy()
 * IEEE_F16BE.set_fields(15, 10, 5, 0, 10)             # <<<<<<<<<<<<<<
 * IEEE_F16BE.set_size(2)
 * IEEE_F16BE.set_ebias(15)
 */
  __pyx_k_tuple_50 = PyTuple_Pack(5, __pyx_int_15, __pyx_int_10, __pyx_int_5, __pyx_int_0, __pyx_int_10); if (unlikely(!__pyx_k_tuple_50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_50);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_50));

  /* "h5py/h5t.pyx":203
 * IEEE_F16BE = IEEE_F32BE.copy()
 * IEEE_F16BE.set_fields(15, 10, 5, 0, 10)
 * IEEE_F16BE.set_size(2)             # <<<<<<<<<<<<<<
 * IEEE_F16BE.set_ebias(15)
 * IEEE_F16BE.lock()
 */
  __pyx_k_tuple_51 = PyTuple_Pack(1, __pyx_int_2); if (unlikely(!__pyx_k_tuple_51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_51);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_51));

  /* "h5py/h5t.pyx":204
 * IEEE_F16BE.set_fields(15, 10, 5, 0, 10)
 * IEEE_F16BE.set_size(2)
 * IEEE_F16BE.set_ebias(15)             # <<<<<<<<<<<<<<
 * IEEE_F16BE.lock()
 * 
 */
  __pyx_k_tuple_52 = PyTuple_Pack(1, __pyx_int_15); if (unlikely(!__pyx_k_tuple_52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_52);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_52));

  /* "h5py/h5t.pyx":219
 * 
 * 
 * def create(int classtype, size_t size):             # <<<<<<<<<<<<<<
 *     """(INT classtype, UINT size) => TypeID
 * 
 */
  __pyx_k_tuple_56 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__classtype), ((PyObject *)__pyx_n_s__size)); if (unlikely(!__pyx_k_tuple_56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_56);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_56));
  __pyx_k_codeobj_57 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__create, 219, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":233
 * 
 * 
 * def open(ObjectID group not None, char* name):             # <<<<<<<<<<<<<<
 *     """(ObjectID group, STRING name) => TypeID
 * 
 */
  __pyx_k_tuple_60 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__group), ((PyObject *)__pyx_n_s__name)); if (unlikely(!__pyx_k_tuple_60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_60);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_60));
  __pyx_k_codeobj_61 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__open, 233, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":241
 * 
 * 
 * def array_create(TypeID base not None, object dims_tpl):             # <<<<<<<<<<<<<<
 *     """(TypeID base, TUPLE dimensions) => TypeArrayID
 * 
 */
  __pyx_k_tuple_62 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__base), ((PyObject *)__pyx_n_s__dims_tpl), ((PyObject *)__pyx_n_s__rank), ((PyObject *)__pyx_n_s__dims)); if (unlikely(!__pyx_k_tuple_62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_62);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_62));
  __pyx_k_codeobj_63 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__array_create, 241, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":262
 * 
 * 
 * def enum_create(TypeID base not None):             # <<<<<<<<<<<<<<
 *     """(TypeID base) => TypeID
 * 
 */
  __pyx_k_tuple_64 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__base)); if (unlikely(!__pyx_k_tuple_64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_64);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_64));
  __pyx_k_codeobj_65 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__enum_create, 262, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":270
 * 
 * 
 * def vlen_create(TypeID base not None):             # <<<<<<<<<<<<<<
 *     """(TypeID base) => TypeID
 * 
 */
  __pyx_k_tuple_66 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__base)); if (unlikely(!__pyx_k_tuple_66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_66);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_66));
  __pyx_k_codeobj_67 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__vlen_create, 270, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":281
 * 
 * 
 * def decode(char* buf):             # <<<<<<<<<<<<<<
 *     """(STRING buf) => TypeID
 * 
 */
  __pyx_k_tuple_68 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__buf), ((PyObject *)__pyx_n_s__buf)); if (unlikely(!__pyx_k_tuple_68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_68);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_68));
  __pyx_k_codeobj_69 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__decode, 281, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1459
 *         raise TypeError("No conversion path for dtype: %s" % repr(dt))
 * 
 * def special_dtype(**kwds):             # <<<<<<<<<<<<<<
 *     """ Create a new h5py "special" type.  Only one keyword may be given.
 * 
 */
  __pyx_k_tuple_70 = PyTuple_Pack(6, ((PyObject *)__pyx_n_s__kwds), ((PyObject *)__pyx_n_s__kwds), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__val), ((PyObject *)__pyx_n_s__dt), ((PyObject *)__pyx_n_s__enum_vals)); if (unlikely(!__pyx_k_tuple_70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_70);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_70));
  __pyx_k_codeobj_71 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__special_dtype, 1459, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1512
 *     raise TypeError('Unknown special type "%s"' % name)
 * 
 * def check_dtype(**kwds):             # <<<<<<<<<<<<<<
 *     """ Check a dtype for h5py special type "hint" information.  Only one
 *     keyword may be given.
 */
  __pyx_k_tuple_72 = PyTuple_Pack(7, ((PyObject *)__pyx_n_s__kwds), ((PyObject *)__pyx_n_s__kwds), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__dt), ((PyObject *)__pyx_n_s__hintkey), ((PyObject *)__pyx_n_s__tpl), ((PyObject *)__pyx_n_s__hint_dict)); if (unlikely(!__pyx_k_tuple_72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_72);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_72));
  __pyx_k_codeobj_73 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__check_dtype, 1512, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1551
 *     return None
 * 
 * def convert(TypeID src not None, TypeID dst not None, size_t n,             # <<<<<<<<<<<<<<
 *             ndarray buf not None, ndarray bkg=None, ObjectID dxpl=None):
 *     """ (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None,
 */
  __pyx_k_tuple_74 = PyTuple_Pack(8, ((PyObject *)__pyx_n_s__src), ((PyObject *)__pyx_n_s__dst), ((PyObject *)__pyx_n_s__n), ((PyObject *)__pyx_n_s__buf), ((PyObject *)__pyx_n_s__bkg), ((PyObject *)__pyx_n_s__dxpl), ((PyObject *)__pyx_n_s__bkg_), ((PyObject *)__pyx_n_s__buf_)); if (unlikely(!__pyx_k_tuple_74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_74);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_74));
  __pyx_k_codeobj_75 = (PyObject*)__Pyx_PyCode_New(6, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__convert, 1551, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "h5py/h5t.pyx":1572
 *     H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl))
 * 
 * def find(TypeID src not None, TypeID dst not None):             # <<<<<<<<<<<<<<
 *     """ (TypeID src, TypeID dst) => TUPLE or None
 * 
 */
  __pyx_k_tuple_76 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__src), ((PyObject *)__pyx_n_s__dst), ((PyObject *)__pyx_n_s__data), ((PyObject *)__pyx_n_s__result)); if (unlikely(!__pyx_k_tuple_76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_76);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_76));
  __pyx_k_codeobj_77 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__find, 1572, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_InitGlobals(void) {
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  __pyx_int_8 = PyInt_FromLong(8); if (unlikely(!__pyx_int_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  __pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  __pyx_int_15 = PyInt_FromLong(15); if (unlikely(!__pyx_int_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  return 0;
  __pyx_L1_error:;
  return -1;
}

#if PY_MAJOR_VERSION < 3
PyMODINIT_FUNC inith5t(void); /*proto*/
PyMODINIT_FUNC inith5t(void)
#else
PyMODINIT_FUNC PyInit_h5t(void); /*proto*/
PyMODINIT_FUNC PyInit_h5t(void)
#endif
{
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  hid_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannyDeclarations
  #if CYTHON_REFNANNY
  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
  if (!__Pyx_RefNanny) {
      PyErr_Clear();
      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
      if (!__Pyx_RefNanny)
          Py_FatalError("failed to import 'refnanny' module");
  }
  #endif
  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5t(void)", 0);
  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __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;}
  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #ifdef __Pyx_CyFunction_USED
  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #endif
  #ifdef __Pyx_FusedFunction_USED
  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #endif
  #ifdef __Pyx_Generator_USED
  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #endif
  /*--- Library function declarations ---*/
  /*--- Threads initialization code ---*/
  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
  #ifdef WITH_THREAD /* Python build with threading support? */
  PyEval_InitThreads();
  #endif
  #endif
  /*--- Module creation code ---*/
  #if PY_MAJOR_VERSION < 3
  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5t"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_49), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
  #else
  __pyx_m = PyModule_Create(&__pyx_moduledef);
  #endif
  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #if PY_MAJOR_VERSION >= 3
  {
    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    if (!PyDict_GetItemString(modules, "h5py.h5t")) {
      if (unlikely(PyDict_SetItemString(modules, "h5py.h5t", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    }
  }
  #endif
  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #if CYTHON_COMPILING_IN_PYPY
  Py_INCREF(__pyx_b);
  #endif
  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  /*--- Initialize various global constants etc. ---*/
  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_module_is_main_h5py__h5t) {
    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  }
  /*--- Builtin init code ---*/
  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  /*--- Constants init code ---*/
  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  /*--- Global init code ---*/
  __pyx_v_4h5py_3h5t__order_map = ((PyObject*)Py_None); Py_INCREF(Py_None);
  __pyx_v_4h5py_3h5t__sign_map = ((PyObject*)Py_None); Py_INCREF(Py_None);
  __pyx_v_4h5py_3h5t__float_le = ((PyObject*)Py_None); Py_INCREF(Py_None);
  __pyx_v_4h5py_3h5t__float_be = ((PyObject*)Py_None); Py_INCREF(Py_None);
  __pyx_v_4h5py_3h5t__float_nt = ((PyObject*)Py_None); Py_INCREF(Py_None);
  __pyx_v_4h5py_3h5t__int_le = ((PyObject*)Py_None); Py_INCREF(Py_None);
  __pyx_v_4h5py_3h5t__int_be = ((PyObject*)Py_None); Py_INCREF(Py_None);
  __pyx_v_4h5py_3h5t__int_nt = ((PyObject*)Py_None); Py_INCREF(Py_None);
  __pyx_v_4h5py_3h5t__uint_le = ((PyObject*)Py_None); Py_INCREF(Py_None);
  __pyx_v_4h5py_3h5t__uint_be = ((PyObject*)Py_None); Py_INCREF(Py_None);
  __pyx_v_4h5py_3h5t__uint_nt = ((PyObject*)Py_None); Py_INCREF(Py_None);
  /*--- Variable export code ---*/
  /*--- Function export code ---*/
  if (__Pyx_ExportFunction("typewrap", (void (*)(void))__pyx_f_4h5py_3h5t_typewrap, "struct __pyx_obj_4h5py_3h5t_TypeID *(hid_t, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ExportFunction("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;}
  /*--- Type init code ---*/
  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_vtabptr_4h5py_3h5t_TypeID = &__pyx_vtable_4h5py_3h5t_TypeID;
  __pyx_vtable_4h5py_3h5t_TypeID.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_6TypeID_py_dtype;
  __pyx_type_4h5py_3h5t_TypeID.tp_base = __pyx_ptype_4h5py_8_objects_ObjectID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetAttrString(__pyx_m, "TypeID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_type_4h5py_3h5t_TypeID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeID, __pyx_base.__weakref__);
  __pyx_ptype_4h5py_3h5t_TypeID = &__pyx_type_4h5py_3h5t_TypeID;
  __pyx_vtabptr_4h5py_3h5t_TypeArrayID = &__pyx_vtable_4h5py_3h5t_TypeArrayID;
  __pyx_vtable_4h5py_3h5t_TypeArrayID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
  __pyx_vtable_4h5py_3h5t_TypeArrayID.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_11TypeArrayID_py_dtype;
  __pyx_type_4h5py_3h5t_TypeArrayID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeArrayID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeArrayID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeArrayID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetAttrString(__pyx_m, "TypeArrayID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeArrayID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_type_4h5py_3h5t_TypeArrayID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeArrayID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeArrayID, __pyx_base.__pyx_base.__weakref__);
  __pyx_ptype_4h5py_3h5t_TypeArrayID = &__pyx_type_4h5py_3h5t_TypeArrayID;
  __pyx_vtabptr_4h5py_3h5t_TypeOpaqueID = &__pyx_vtable_4h5py_3h5t_TypeOpaqueID;
  __pyx_vtable_4h5py_3h5t_TypeOpaqueID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
  __pyx_vtable_4h5py_3h5t_TypeOpaqueID.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_12TypeOpaqueID_py_dtype;
  __pyx_type_4h5py_3h5t_TypeOpaqueID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeOpaqueID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeOpaqueID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeOpaqueID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetAttrString(__pyx_m, "TypeOpaqueID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeOpaqueID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_type_4h5py_3h5t_TypeOpaqueID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeOpaqueID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID, __pyx_base.__pyx_base.__weakref__);
  __pyx_ptype_4h5py_3h5t_TypeOpaqueID = &__pyx_type_4h5py_3h5t_TypeOpaqueID;
  __pyx_vtabptr_4h5py_3h5t_TypeStringID = &__pyx_vtable_4h5py_3h5t_TypeStringID;
  __pyx_vtable_4h5py_3h5t_TypeStringID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
  __pyx_vtable_4h5py_3h5t_TypeStringID.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_12TypeStringID_py_dtype;
  __pyx_type_4h5py_3h5t_TypeStringID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeStringID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeStringID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeStringID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetAttrString(__pyx_m, "TypeStringID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeStringID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_type_4h5py_3h5t_TypeStringID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeStringID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeStringID, __pyx_base.__pyx_base.__weakref__);
  __pyx_ptype_4h5py_3h5t_TypeStringID = &__pyx_type_4h5py_3h5t_TypeStringID;
  __pyx_vtabptr_4h5py_3h5t_TypeVlenID = &__pyx_vtable_4h5py_3h5t_TypeVlenID;
  __pyx_vtable_4h5py_3h5t_TypeVlenID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
  __pyx_type_4h5py_3h5t_TypeVlenID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeVlenID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeVlenID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeVlenID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetAttrString(__pyx_m, "TypeVlenID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeVlenID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_type_4h5py_3h5t_TypeVlenID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeVlenID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeVlenID, __pyx_base.__pyx_base.__weakref__);
  __pyx_ptype_4h5py_3h5t_TypeVlenID = &__pyx_type_4h5py_3h5t_TypeVlenID;
  __pyx_vtabptr_4h5py_3h5t_TypeTimeID = &__pyx_vtable_4h5py_3h5t_TypeTimeID;
  __pyx_vtable_4h5py_3h5t_TypeTimeID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
  __pyx_type_4h5py_3h5t_TypeTimeID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeTimeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeTimeID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeTimeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetAttrString(__pyx_m, "TypeTimeID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeTimeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_type_4h5py_3h5t_TypeTimeID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeTimeID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeTimeID, __pyx_base.__pyx_base.__weakref__);
  __pyx_ptype_4h5py_3h5t_TypeTimeID = &__pyx_type_4h5py_3h5t_TypeTimeID;
  __pyx_vtabptr_4h5py_3h5t_TypeBitfieldID = &__pyx_vtable_4h5py_3h5t_TypeBitfieldID;
  __pyx_vtable_4h5py_3h5t_TypeBitfieldID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
  __pyx_type_4h5py_3h5t_TypeBitfieldID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeBitfieldID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeBitfieldID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeBitfieldID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetAttrString(__pyx_m, "TypeBitfieldID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeBitfieldID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_type_4h5py_3h5t_TypeBitfieldID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeBitfieldID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeBitfieldID, __pyx_base.__pyx_base.__weakref__);
  __pyx_ptype_4h5py_3h5t_TypeBitfieldID = &__pyx_type_4h5py_3h5t_TypeBitfieldID;
  __pyx_vtabptr_4h5py_3h5t_TypeReferenceID = &__pyx_vtable_4h5py_3h5t_TypeReferenceID;
  __pyx_vtable_4h5py_3h5t_TypeReferenceID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
  __pyx_vtable_4h5py_3h5t_TypeReferenceID.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_15TypeReferenceID_py_dtype;
  __pyx_type_4h5py_3h5t_TypeReferenceID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeReferenceID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeReferenceID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeReferenceID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetAttrString(__pyx_m, "TypeReferenceID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeReferenceID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_type_4h5py_3h5t_TypeReferenceID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeReferenceID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeReferenceID, __pyx_base.__pyx_base.__weakref__);
  __pyx_ptype_4h5py_3h5t_TypeReferenceID = &__pyx_type_4h5py_3h5t_TypeReferenceID;
  __pyx_vtabptr_4h5py_3h5t_TypeAtomicID = &__pyx_vtable_4h5py_3h5t_TypeAtomicID;
  __pyx_vtable_4h5py_3h5t_TypeAtomicID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
  __pyx_type_4h5py_3h5t_TypeAtomicID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeAtomicID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeAtomicID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeAtomicID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetAttrString(__pyx_m, "TypeAtomicID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeAtomicID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_type_4h5py_3h5t_TypeAtomicID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeAtomicID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeAtomicID, __pyx_base.__pyx_base.__weakref__);
  __pyx_ptype_4h5py_3h5t_TypeAtomicID = &__pyx_type_4h5py_3h5t_TypeAtomicID;
  __pyx_vtabptr_4h5py_3h5t_TypeIntegerID = &__pyx_vtable_4h5py_3h5t_TypeIntegerID;
  __pyx_vtable_4h5py_3h5t_TypeIntegerID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;
  __pyx_vtable_4h5py_3h5t_TypeIntegerID.__pyx_base.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_13TypeIntegerID_py_dtype;
  __pyx_type_4h5py_3h5t_TypeIntegerID.tp_base = __pyx_ptype_4h5py_3h5t_TypeAtomicID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeIntegerID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeIntegerID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeIntegerID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetAttrString(__pyx_m, "TypeIntegerID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeIntegerID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_type_4h5py_3h5t_TypeIntegerID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeIntegerID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeIntegerID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  __pyx_ptype_4h5py_3h5t_TypeIntegerID = &__pyx_type_4h5py_3h5t_TypeIntegerID;
  __pyx_vtabptr_4h5py_3h5t_TypeFloatID = &__pyx_vtable_4h5py_3h5t_TypeFloatID;
  __pyx_vtable_4h5py_3h5t_TypeFloatID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;
  __pyx_vtable_4h5py_3h5t_TypeFloatID.__pyx_base.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_11TypeFloatID_py_dtype;
  __pyx_type_4h5py_3h5t_TypeFloatID.tp_base = __pyx_ptype_4h5py_3h5t_TypeAtomicID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeFloatID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeFloatID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeFloatID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetAttrString(__pyx_m, "TypeFloatID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeFloatID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_type_4h5py_3h5t_TypeFloatID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeFloatID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeFloatID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  __pyx_ptype_4h5py_3h5t_TypeFloatID = &__pyx_type_4h5py_3h5t_TypeFloatID;
  __pyx_vtabptr_4h5py_3h5t_TypeCompositeID = &__pyx_vtable_4h5py_3h5t_TypeCompositeID;
  __pyx_vtable_4h5py_3h5t_TypeCompositeID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
  __pyx_type_4h5py_3h5t_TypeCompositeID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeCompositeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeCompositeID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeCompositeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetAttrString(__pyx_m, "TypeCompositeID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeCompositeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_type_4h5py_3h5t_TypeCompositeID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeCompositeID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeCompositeID, __pyx_base.__pyx_base.__weakref__);
  __pyx_ptype_4h5py_3h5t_TypeCompositeID = &__pyx_type_4h5py_3h5t_TypeCompositeID;
  __pyx_vtabptr_4h5py_3h5t_TypeEnumID = &__pyx_vtable_4h5py_3h5t_TypeEnumID;
  __pyx_vtable_4h5py_3h5t_TypeEnumID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;
  __pyx_vtable_4h5py_3h5t_TypeEnumID.__pyx_base.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_10TypeEnumID_py_dtype;
  __pyx_vtable_4h5py_3h5t_TypeEnumID.enum_convert = (int (*)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int))__pyx_f_4h5py_3h5t_10TypeEnumID_enum_convert;
  __pyx_type_4h5py_3h5t_TypeEnumID.tp_base = __pyx_ptype_4h5py_3h5t_TypeCompositeID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeEnumID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeEnumID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeEnumID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetAttrString(__pyx_m, "TypeEnumID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeEnumID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_type_4h5py_3h5t_TypeEnumID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeEnumID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeEnumID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  __pyx_ptype_4h5py_3h5t_TypeEnumID = &__pyx_type_4h5py_3h5t_TypeEnumID;
  __pyx_vtabptr_4h5py_3h5t_TypeCompoundID = &__pyx_vtable_4h5py_3h5t_TypeCompoundID;
  __pyx_vtable_4h5py_3h5t_TypeCompoundID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;
  __pyx_vtable_4h5py_3h5t_TypeCompoundID.__pyx_base.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_14TypeCompoundID_py_dtype;
  __pyx_type_4h5py_3h5t_TypeCompoundID.tp_base = __pyx_ptype_4h5py_3h5t_TypeCompositeID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeCompoundID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeCompoundID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeCompoundID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_SetAttrString(__pyx_m, "TypeCompoundID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeCompoundID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_type_4h5py_3h5t_TypeCompoundID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeCompoundID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeCompoundID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  __pyx_ptype_4h5py_3h5t_TypeCompoundID = &__pyx_type_4h5py_3h5t_TypeCompoundID;
  /*--- Type import code ---*/
  __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_ptype_4h5py_3h5r_Reference = __Pyx_ImportType("h5py.h5r", "Reference", sizeof(struct __pyx_obj_4h5py_3h5r_Reference), 1); if (unlikely(!__pyx_ptype_4h5py_3h5r_Reference)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_ptype_4h5py_3h5r_RegionReference = __Pyx_ImportType("h5py.h5r", "RegionReference", sizeof(struct __pyx_obj_4h5py_3h5r_RegionReference), 1); if (unlikely(!__pyx_ptype_4h5py_3h5r_RegionReference)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  /*--- Variable import code ---*/
  /*--- Function import code ---*/
  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcreate, "hid_t (enum H5T_class_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Topen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Topen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommitted", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommitted, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tlock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tlock, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_class, "enum H5T_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_size, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_super", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_super, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdetect_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdetect_class, "htri_t (hid_t, enum H5T_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tconvert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tconvert, "herr_t (hid_t, hid_t, size_t, void *, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_order, "H5T_order_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_order, "herr_t (hid_t, H5T_order_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_precision, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_precision, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_offset, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_offset, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_pad, "herr_t (hid_t, H5T_pad_t *, H5T_pad_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_pad, "herr_t (hid_t, H5T_pad_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_sign, "H5T_sign_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_sign, "herr_t (hid_t, H5T_sign_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_fields, "herr_t (hid_t, size_t *, size_t *, size_t *, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_fields, "herr_t (hid_t, size_t, size_t, size_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_ebias, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_ebias, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_norm, "H5T_norm_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_norm, "herr_t (hid_t, H5T_norm_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_inpad, "H5T_pad_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_inpad, "herr_t (hid_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_cset, "H5T_cset_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_cset, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_strpad, "H5T_str_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_strpad, "herr_t (hid_t, H5T_str_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tvlen_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tvlen_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tis_variable_str", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tis_variable_str, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_nmembers", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_nmembers, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_class, "enum H5T_class_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_name, "char *(hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_type, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_offset, "int (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_index", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_index, "int (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tinsert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tinsert, "herr_t (hid_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tpack", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tpack, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_insert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_insert, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_nameof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_nameof, "herr_t (hid_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_valueof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_valueof, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_value, "herr_t (hid_t, unsigned int, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tarray_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tarray_create, "hid_t (hid_t, int, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_dims, "int (hid_t, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_tag, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_tag, "char *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdecode, "hid_t (unsigned char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tencode, "herr_t (hid_t, unsigned char *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit2, "herr_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tfind", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tfind, "H5T_conv_t (hid_t, hid_t, H5T_cdata_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  Py_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_3, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_3, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_3, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_3, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__Pyx_ImportFunction(__pyx_t_3, "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;}
  Py_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  /*--- Execution code ---*/

  /* "h5py/h5t.pyx":26
 * from utils cimport  emalloc, efree, \
 *                     require_tuple, convert_dims, convert_tuple
 * from h5py import _conv             # <<<<<<<<<<<<<<
 * 
 * # Runtime imports
 */
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_n_s___conv));
  PyList_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s___conv));
  __Pyx_GIVEREF(((PyObject *)__pyx_n_s___conv));
  __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_4), -1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s___conv);
  if (__pyx_t_4 == NULL) {
    if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___conv);
    if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___conv, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "h5py/h5t.pyx":29
 * 
 * # Runtime imports
 * import sys             # <<<<<<<<<<<<<<
 * from h5 import get_config
 * import numpy as np
 */
  __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s__sys), 0, -1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__sys, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "h5py/h5t.pyx":30
 * # Runtime imports
 * import sys
 * from h5 import get_config             # <<<<<<<<<<<<<<
 * import numpy as np
 * 
 */
  __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_n_s__get_config));
  PyList_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_n_s__get_config));
  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__get_config));
  __pyx_t_4 = __Pyx_Import(((PyObject *)__pyx_n_s__h5), ((PyObject *)__pyx_t_5), -1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__get_config);
  if (__pyx_t_5 == NULL) {
    if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s__get_config);
    if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __Pyx_GOTREF(__pyx_t_5);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_config, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":31
 * import sys
 * from h5 import get_config
 * import numpy as np             # <<<<<<<<<<<<<<
 * 
 * cfg = get_config()
 */
  __pyx_t_4 = __Pyx_Import(((PyObject *)__pyx_n_s__numpy), 0, -1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__np, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":33
 * import numpy as np
 * 
 * cfg = get_config()             # <<<<<<<<<<<<<<
 * 
 * PY3 = sys.version_info[0] == 3
 */
  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__get_config); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__cfg, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "h5py/h5t.pyx":35
 * cfg = get_config()
 * 
 * PY3 = sys.version_info[0] == 3             # <<<<<<<<<<<<<<
 * 
 * # === Custom C API ============================================================
 */
  __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__sys); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__version_info); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_5, __pyx_int_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PY3, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":81
 * 
 * # Enumeration H5T_class_t
 * NO_CLASS  = H5T_NO_CLASS             # <<<<<<<<<<<<<<
 * INTEGER   = H5T_INTEGER
 * FLOAT     = H5T_FLOAT
 */
  __pyx_t_4 = PyInt_FromLong(H5T_NO_CLASS); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NO_CLASS, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":82
 * # Enumeration H5T_class_t
 * NO_CLASS  = H5T_NO_CLASS
 * INTEGER   = H5T_INTEGER             # <<<<<<<<<<<<<<
 * FLOAT     = H5T_FLOAT
 * TIME      = H5T_TIME
 */
  __pyx_t_4 = PyInt_FromLong(H5T_INTEGER); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__INTEGER, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":83
 * NO_CLASS  = H5T_NO_CLASS
 * INTEGER   = H5T_INTEGER
 * FLOAT     = H5T_FLOAT             # <<<<<<<<<<<<<<
 * TIME      = H5T_TIME
 * STRING    = H5T_STRING
 */
  __pyx_t_4 = PyInt_FromLong(H5T_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FLOAT, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":84
 * INTEGER   = H5T_INTEGER
 * FLOAT     = H5T_FLOAT
 * TIME      = H5T_TIME             # <<<<<<<<<<<<<<
 * STRING    = H5T_STRING
 * BITFIELD  = H5T_BITFIELD
 */
  __pyx_t_4 = PyInt_FromLong(H5T_TIME); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__TIME, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":85
 * FLOAT     = H5T_FLOAT
 * TIME      = H5T_TIME
 * STRING    = H5T_STRING             # <<<<<<<<<<<<<<
 * BITFIELD  = H5T_BITFIELD
 * OPAQUE    = H5T_OPAQUE
 */
  __pyx_t_4 = PyInt_FromLong(H5T_STRING); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STRING, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":86
 * TIME      = H5T_TIME
 * STRING    = H5T_STRING
 * BITFIELD  = H5T_BITFIELD             # <<<<<<<<<<<<<<
 * OPAQUE    = H5T_OPAQUE
 * COMPOUND  = H5T_COMPOUND
 */
  __pyx_t_4 = PyInt_FromLong(H5T_BITFIELD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BITFIELD, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":87
 * STRING    = H5T_STRING
 * BITFIELD  = H5T_BITFIELD
 * OPAQUE    = H5T_OPAQUE             # <<<<<<<<<<<<<<
 * COMPOUND  = H5T_COMPOUND
 * REFERENCE = H5T_REFERENCE
 */
  __pyx_t_4 = PyInt_FromLong(H5T_OPAQUE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OPAQUE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":88
 * BITFIELD  = H5T_BITFIELD
 * OPAQUE    = H5T_OPAQUE
 * COMPOUND  = H5T_COMPOUND             # <<<<<<<<<<<<<<
 * REFERENCE = H5T_REFERENCE
 * ENUM      = H5T_ENUM
 */
  __pyx_t_4 = PyInt_FromLong(H5T_COMPOUND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__COMPOUND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":89
 * OPAQUE    = H5T_OPAQUE
 * COMPOUND  = H5T_COMPOUND
 * REFERENCE = H5T_REFERENCE             # <<<<<<<<<<<<<<
 * ENUM      = H5T_ENUM
 * VLEN      = H5T_VLEN
 */
  __pyx_t_4 = PyInt_FromLong(H5T_REFERENCE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__REFERENCE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":90
 * COMPOUND  = H5T_COMPOUND
 * REFERENCE = H5T_REFERENCE
 * ENUM      = H5T_ENUM             # <<<<<<<<<<<<<<
 * VLEN      = H5T_VLEN
 * ARRAY     = H5T_ARRAY
 */
  __pyx_t_4 = PyInt_FromLong(H5T_ENUM); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ENUM, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":91
 * REFERENCE = H5T_REFERENCE
 * ENUM      = H5T_ENUM
 * VLEN      = H5T_VLEN             # <<<<<<<<<<<<<<
 * ARRAY     = H5T_ARRAY
 * 
 */
  __pyx_t_4 = PyInt_FromLong(H5T_VLEN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__VLEN, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":92
 * ENUM      = H5T_ENUM
 * VLEN      = H5T_VLEN
 * ARRAY     = H5T_ARRAY             # <<<<<<<<<<<<<<
 * 
 * # Enumeration H5T_sign_t
 */
  __pyx_t_4 = PyInt_FromLong(H5T_ARRAY); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ARRAY, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":95
 * 
 * # Enumeration H5T_sign_t
 * SGN_NONE   = H5T_SGN_NONE             # <<<<<<<<<<<<<<
 * SGN_2      = H5T_SGN_2
 * 
 */
  __pyx_t_4 = PyInt_FromLong(H5T_SGN_NONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SGN_NONE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":96
 * # Enumeration H5T_sign_t
 * SGN_NONE   = H5T_SGN_NONE
 * SGN_2      = H5T_SGN_2             # <<<<<<<<<<<<<<
 * 
 * # Enumeration H5T_order_t
 */
  __pyx_t_4 = PyInt_FromLong(H5T_SGN_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SGN_2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":99
 * 
 * # Enumeration H5T_order_t
 * ORDER_LE    = H5T_ORDER_LE             # <<<<<<<<<<<<<<
 * ORDER_BE    = H5T_ORDER_BE
 * ORDER_VAX   = H5T_ORDER_VAX
 */
  __pyx_t_4 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":100
 * # Enumeration H5T_order_t
 * ORDER_LE    = H5T_ORDER_LE
 * ORDER_BE    = H5T_ORDER_BE             # <<<<<<<<<<<<<<
 * ORDER_VAX   = H5T_ORDER_VAX
 * ORDER_NONE  = H5T_ORDER_NONE
 */
  __pyx_t_4 = PyInt_FromLong(H5T_ORDER_BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":101
 * ORDER_LE    = H5T_ORDER_LE
 * ORDER_BE    = H5T_ORDER_BE
 * ORDER_VAX   = H5T_ORDER_VAX             # <<<<<<<<<<<<<<
 * ORDER_NONE  = H5T_ORDER_NONE
 * 
 */
  __pyx_t_4 = PyInt_FromLong(H5T_ORDER_VAX); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_VAX, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":102
 * ORDER_BE    = H5T_ORDER_BE
 * ORDER_VAX   = H5T_ORDER_VAX
 * ORDER_NONE  = H5T_ORDER_NONE             # <<<<<<<<<<<<<<
 * 
 * DIR_DEFAULT = H5T_DIR_DEFAULT
 */
  __pyx_t_4 = PyInt_FromLong(H5T_ORDER_NONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_NONE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":104
 * ORDER_NONE  = H5T_ORDER_NONE
 * 
 * DIR_DEFAULT = H5T_DIR_DEFAULT             # <<<<<<<<<<<<<<
 * DIR_ASCEND  = H5T_DIR_ASCEND
 * DIR_DESCEND = H5T_DIR_DESCEND
 */
  __pyx_t_4 = PyInt_FromLong(H5T_DIR_DEFAULT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DIR_DEFAULT, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":105
 * 
 * DIR_DEFAULT = H5T_DIR_DEFAULT
 * DIR_ASCEND  = H5T_DIR_ASCEND             # <<<<<<<<<<<<<<
 * DIR_DESCEND = H5T_DIR_DESCEND
 * 
 */
  __pyx_t_4 = PyInt_FromLong(H5T_DIR_ASCEND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DIR_ASCEND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":106
 * DIR_DEFAULT = H5T_DIR_DEFAULT
 * DIR_ASCEND  = H5T_DIR_ASCEND
 * DIR_DESCEND = H5T_DIR_DESCEND             # <<<<<<<<<<<<<<
 * 
 * # Enumeration H5T_str_t
 */
  __pyx_t_4 = PyInt_FromLong(H5T_DIR_DESCEND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DIR_DESCEND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":109
 * 
 * # Enumeration H5T_str_t
 * STR_NULLTERM = H5T_STR_NULLTERM             # <<<<<<<<<<<<<<
 * STR_NULLPAD  = H5T_STR_NULLPAD
 * STR_SPACEPAD = H5T_STR_SPACEPAD
 */
  __pyx_t_4 = PyInt_FromLong(H5T_STR_NULLTERM); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STR_NULLTERM, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":110
 * # Enumeration H5T_str_t
 * STR_NULLTERM = H5T_STR_NULLTERM
 * STR_NULLPAD  = H5T_STR_NULLPAD             # <<<<<<<<<<<<<<
 * STR_SPACEPAD = H5T_STR_SPACEPAD
 * 
 */
  __pyx_t_4 = PyInt_FromLong(H5T_STR_NULLPAD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STR_NULLPAD, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":111
 * STR_NULLTERM = H5T_STR_NULLTERM
 * STR_NULLPAD  = H5T_STR_NULLPAD
 * STR_SPACEPAD = H5T_STR_SPACEPAD             # <<<<<<<<<<<<<<
 * 
 * # Enumeration H5T_norm_t
 */
  __pyx_t_4 = PyInt_FromLong(H5T_STR_SPACEPAD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STR_SPACEPAD, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":114
 * 
 * # Enumeration H5T_norm_t
 * NORM_IMPLIED = H5T_NORM_IMPLIED             # <<<<<<<<<<<<<<
 * NORM_MSBSET = H5T_NORM_MSBSET
 * NORM_NONE = H5T_NORM_NONE
 */
  __pyx_t_4 = PyInt_FromLong(H5T_NORM_IMPLIED); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NORM_IMPLIED, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":115
 * # Enumeration H5T_norm_t
 * NORM_IMPLIED = H5T_NORM_IMPLIED
 * NORM_MSBSET = H5T_NORM_MSBSET             # <<<<<<<<<<<<<<
 * NORM_NONE = H5T_NORM_NONE
 * 
 */
  __pyx_t_4 = PyInt_FromLong(H5T_NORM_MSBSET); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NORM_MSBSET, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":116
 * NORM_IMPLIED = H5T_NORM_IMPLIED
 * NORM_MSBSET = H5T_NORM_MSBSET
 * NORM_NONE = H5T_NORM_NONE             # <<<<<<<<<<<<<<
 * 
 * # Enumeration H5T_cset_t:
 */
  __pyx_t_4 = PyInt_FromLong(H5T_NORM_NONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NORM_NONE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":119
 * 
 * # Enumeration H5T_cset_t:
 * CSET_ASCII = H5T_CSET_ASCII             # <<<<<<<<<<<<<<
 * 
 * # Enumeration H5T_pad_t:
 */
  __pyx_t_4 = PyInt_FromLong(H5T_CSET_ASCII); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CSET_ASCII, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":122
 * 
 * # Enumeration H5T_pad_t:
 * PAD_ZERO = H5T_PAD_ZERO             # <<<<<<<<<<<<<<
 * PAD_ONE = H5T_PAD_ONE
 * PAD_BACKGROUND = H5T_PAD_BACKGROUND
 */
  __pyx_t_4 = PyInt_FromLong(H5T_PAD_ZERO); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PAD_ZERO, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":123
 * # Enumeration H5T_pad_t:
 * PAD_ZERO = H5T_PAD_ZERO
 * PAD_ONE = H5T_PAD_ONE             # <<<<<<<<<<<<<<
 * PAD_BACKGROUND = H5T_PAD_BACKGROUND
 * 
 */
  __pyx_t_4 = PyInt_FromLong(H5T_PAD_ONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PAD_ONE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":124
 * PAD_ZERO = H5T_PAD_ZERO
 * PAD_ONE = H5T_PAD_ONE
 * PAD_BACKGROUND = H5T_PAD_BACKGROUND             # <<<<<<<<<<<<<<
 * 
 * if sys.byteorder == "little":    # Custom python addition
 */
  __pyx_t_4 = PyInt_FromLong(H5T_PAD_BACKGROUND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PAD_BACKGROUND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":126
 * PAD_BACKGROUND = H5T_PAD_BACKGROUND
 * 
 * if sys.byteorder == "little":    # Custom python addition             # <<<<<<<<<<<<<<
 *     ORDER_NATIVE = H5T_ORDER_LE
 * else:
 */
  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__sys); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__byteorder); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_5, ((PyObject *)__pyx_n_s__little), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_6) {

    /* "h5py/h5t.pyx":127
 * 
 * if sys.byteorder == "little":    # Custom python addition
 *     ORDER_NATIVE = H5T_ORDER_LE             # <<<<<<<<<<<<<<
 * else:
 *     ORDER_NATIVE = H5T_ORDER_BE
 */
    __pyx_t_4 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_NATIVE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L2;
  }
  /*else*/ {

    /* "h5py/h5t.pyx":129
 *     ORDER_NATIVE = H5T_ORDER_LE
 * else:
 *     ORDER_NATIVE = H5T_ORDER_BE             # <<<<<<<<<<<<<<
 * 
 * # For conversion
 */
    __pyx_t_4 = PyInt_FromLong(H5T_ORDER_BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_NATIVE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_L2:;

  /* "h5py/h5t.pyx":132
 * 
 * # For conversion
 * BKG_NO = H5T_BKG_NO             # <<<<<<<<<<<<<<
 * BKG_TEMP = H5T_BKG_TEMP
 * BKG_YES = H5T_BKG_YES
 */
  __pyx_t_4 = PyInt_FromLong(H5T_BKG_NO); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BKG_NO, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":133
 * # For conversion
 * BKG_NO = H5T_BKG_NO
 * BKG_TEMP = H5T_BKG_TEMP             # <<<<<<<<<<<<<<
 * BKG_YES = H5T_BKG_YES
 * 
 */
  __pyx_t_4 = PyInt_FromLong(H5T_BKG_TEMP); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BKG_TEMP, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":134
 * BKG_NO = H5T_BKG_NO
 * BKG_TEMP = H5T_BKG_TEMP
 * BKG_YES = H5T_BKG_YES             # <<<<<<<<<<<<<<
 * 
 * # --- Built-in HDF5 datatypes -------------------------------------------------
 */
  __pyx_t_4 = PyInt_FromLong(H5T_BKG_YES); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BKG_YES, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":139
 * 
 * # IEEE floating-point
 * IEEE_F32LE = lockid(H5T_IEEE_F32LE)             # <<<<<<<<<<<<<<
 * IEEE_F32BE = lockid(H5T_IEEE_F32BE)
 * IEEE_F64LE = lockid(H5T_IEEE_F64LE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F32LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":140
 * # IEEE floating-point
 * IEEE_F32LE = lockid(H5T_IEEE_F32LE)
 * IEEE_F32BE = lockid(H5T_IEEE_F32BE)             # <<<<<<<<<<<<<<
 * IEEE_F64LE = lockid(H5T_IEEE_F64LE)
 * IEEE_F64BE = lockid(H5T_IEEE_F64BE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F32BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":141
 * IEEE_F32LE = lockid(H5T_IEEE_F32LE)
 * IEEE_F32BE = lockid(H5T_IEEE_F32BE)
 * IEEE_F64LE = lockid(H5T_IEEE_F64LE)             # <<<<<<<<<<<<<<
 * IEEE_F64BE = lockid(H5T_IEEE_F64BE)
 * 
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F64LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":142
 * IEEE_F32BE = lockid(H5T_IEEE_F32BE)
 * IEEE_F64LE = lockid(H5T_IEEE_F64LE)
 * IEEE_F64BE = lockid(H5T_IEEE_F64BE)             # <<<<<<<<<<<<<<
 * 
 * # Signed 2's complement integer types
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F64BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":145
 * 
 * # Signed 2's complement integer types
 * STD_I8LE  = lockid(H5T_STD_I8LE)             # <<<<<<<<<<<<<<
 * STD_I16LE = lockid(H5T_STD_I16LE)
 * STD_I32LE = lockid(H5T_STD_I32LE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I8LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I8LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":146
 * # Signed 2's complement integer types
 * STD_I8LE  = lockid(H5T_STD_I8LE)
 * STD_I16LE = lockid(H5T_STD_I16LE)             # <<<<<<<<<<<<<<
 * STD_I32LE = lockid(H5T_STD_I32LE)
 * STD_I64LE = lockid(H5T_STD_I64LE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I16LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I16LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":147
 * STD_I8LE  = lockid(H5T_STD_I8LE)
 * STD_I16LE = lockid(H5T_STD_I16LE)
 * STD_I32LE = lockid(H5T_STD_I32LE)             # <<<<<<<<<<<<<<
 * STD_I64LE = lockid(H5T_STD_I64LE)
 * 
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I32LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":148
 * STD_I16LE = lockid(H5T_STD_I16LE)
 * STD_I32LE = lockid(H5T_STD_I32LE)
 * STD_I64LE = lockid(H5T_STD_I64LE)             # <<<<<<<<<<<<<<
 * 
 * STD_I8BE  = lockid(H5T_STD_I8BE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I64LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":150
 * STD_I64LE = lockid(H5T_STD_I64LE)
 * 
 * STD_I8BE  = lockid(H5T_STD_I8BE)             # <<<<<<<<<<<<<<
 * STD_I16BE = lockid(H5T_STD_I16BE)
 * STD_I32BE = lockid(H5T_STD_I32BE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I8BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I8BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":151
 * 
 * STD_I8BE  = lockid(H5T_STD_I8BE)
 * STD_I16BE = lockid(H5T_STD_I16BE)             # <<<<<<<<<<<<<<
 * STD_I32BE = lockid(H5T_STD_I32BE)
 * STD_I64BE = lockid(H5T_STD_I64BE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I16BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":152
 * STD_I8BE  = lockid(H5T_STD_I8BE)
 * STD_I16BE = lockid(H5T_STD_I16BE)
 * STD_I32BE = lockid(H5T_STD_I32BE)             # <<<<<<<<<<<<<<
 * STD_I64BE = lockid(H5T_STD_I64BE)
 * 
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I32BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":153
 * STD_I16BE = lockid(H5T_STD_I16BE)
 * STD_I32BE = lockid(H5T_STD_I32BE)
 * STD_I64BE = lockid(H5T_STD_I64BE)             # <<<<<<<<<<<<<<
 * 
 * # Unsigned integers
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I64BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":156
 * 
 * # Unsigned integers
 * STD_U8LE  = lockid(H5T_STD_U8LE)             # <<<<<<<<<<<<<<
 * STD_U16LE = lockid(H5T_STD_U16LE)
 * STD_U32LE = lockid(H5T_STD_U32LE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U8LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U8LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":157
 * # Unsigned integers
 * STD_U8LE  = lockid(H5T_STD_U8LE)
 * STD_U16LE = lockid(H5T_STD_U16LE)             # <<<<<<<<<<<<<<
 * STD_U32LE = lockid(H5T_STD_U32LE)
 * STD_U64LE = lockid(H5T_STD_U64LE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U16LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U16LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":158
 * STD_U8LE  = lockid(H5T_STD_U8LE)
 * STD_U16LE = lockid(H5T_STD_U16LE)
 * STD_U32LE = lockid(H5T_STD_U32LE)             # <<<<<<<<<<<<<<
 * STD_U64LE = lockid(H5T_STD_U64LE)
 * 
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U32LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":159
 * STD_U16LE = lockid(H5T_STD_U16LE)
 * STD_U32LE = lockid(H5T_STD_U32LE)
 * STD_U64LE = lockid(H5T_STD_U64LE)             # <<<<<<<<<<<<<<
 * 
 * STD_U8BE  = lockid(H5T_STD_U8BE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U64LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":161
 * STD_U64LE = lockid(H5T_STD_U64LE)
 * 
 * STD_U8BE  = lockid(H5T_STD_U8BE)             # <<<<<<<<<<<<<<
 * STD_U16BE = lockid(H5T_STD_U16BE)
 * STD_U32BE = lockid(H5T_STD_U32BE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U8BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U8BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":162
 * 
 * STD_U8BE  = lockid(H5T_STD_U8BE)
 * STD_U16BE = lockid(H5T_STD_U16BE)             # <<<<<<<<<<<<<<
 * STD_U32BE = lockid(H5T_STD_U32BE)
 * STD_U64BE = lockid(H5T_STD_U64BE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U16BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":163
 * STD_U8BE  = lockid(H5T_STD_U8BE)
 * STD_U16BE = lockid(H5T_STD_U16BE)
 * STD_U32BE = lockid(H5T_STD_U32BE)             # <<<<<<<<<<<<<<
 * STD_U64BE = lockid(H5T_STD_U64BE)
 * 
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U32BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":164
 * STD_U16BE = lockid(H5T_STD_U16BE)
 * STD_U32BE = lockid(H5T_STD_U32BE)
 * STD_U64BE = lockid(H5T_STD_U64BE)             # <<<<<<<<<<<<<<
 * 
 * # Native types by bytesize
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U64BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":167
 * 
 * # Native types by bytesize
 * NATIVE_INT8 = lockid(H5T_NATIVE_INT8)             # <<<<<<<<<<<<<<
 * NATIVE_UINT8 = lockid(H5T_NATIVE_UINT8)
 * NATIVE_INT16 = lockid(H5T_NATIVE_INT16)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":168
 * # Native types by bytesize
 * NATIVE_INT8 = lockid(H5T_NATIVE_INT8)
 * NATIVE_UINT8 = lockid(H5T_NATIVE_UINT8)             # <<<<<<<<<<<<<<
 * NATIVE_INT16 = lockid(H5T_NATIVE_INT16)
 * NATIVE_UINT16 = lockid(H5T_NATIVE_UINT16)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":169
 * NATIVE_INT8 = lockid(H5T_NATIVE_INT8)
 * NATIVE_UINT8 = lockid(H5T_NATIVE_UINT8)
 * NATIVE_INT16 = lockid(H5T_NATIVE_INT16)             # <<<<<<<<<<<<<<
 * NATIVE_UINT16 = lockid(H5T_NATIVE_UINT16)
 * NATIVE_INT32 = lockid(H5T_NATIVE_INT32)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT16); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT16, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":170
 * NATIVE_UINT8 = lockid(H5T_NATIVE_UINT8)
 * NATIVE_INT16 = lockid(H5T_NATIVE_INT16)
 * NATIVE_UINT16 = lockid(H5T_NATIVE_UINT16)             # <<<<<<<<<<<<<<
 * NATIVE_INT32 = lockid(H5T_NATIVE_INT32)
 * NATIVE_UINT32 = lockid(H5T_NATIVE_UINT32)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT16); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT16, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":171
 * NATIVE_INT16 = lockid(H5T_NATIVE_INT16)
 * NATIVE_UINT16 = lockid(H5T_NATIVE_UINT16)
 * NATIVE_INT32 = lockid(H5T_NATIVE_INT32)             # <<<<<<<<<<<<<<
 * NATIVE_UINT32 = lockid(H5T_NATIVE_UINT32)
 * NATIVE_INT64 = lockid(H5T_NATIVE_INT64)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT32, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":172
 * NATIVE_UINT16 = lockid(H5T_NATIVE_UINT16)
 * NATIVE_INT32 = lockid(H5T_NATIVE_INT32)
 * NATIVE_UINT32 = lockid(H5T_NATIVE_UINT32)             # <<<<<<<<<<<<<<
 * NATIVE_INT64 = lockid(H5T_NATIVE_INT64)
 * NATIVE_UINT64 = lockid(H5T_NATIVE_UINT64)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT32, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":173
 * NATIVE_INT32 = lockid(H5T_NATIVE_INT32)
 * NATIVE_UINT32 = lockid(H5T_NATIVE_UINT32)
 * NATIVE_INT64 = lockid(H5T_NATIVE_INT64)             # <<<<<<<<<<<<<<
 * NATIVE_UINT64 = lockid(H5T_NATIVE_UINT64)
 * NATIVE_FLOAT = lockid(H5T_NATIVE_FLOAT)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT64, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":174
 * NATIVE_UINT32 = lockid(H5T_NATIVE_UINT32)
 * NATIVE_INT64 = lockid(H5T_NATIVE_INT64)
 * NATIVE_UINT64 = lockid(H5T_NATIVE_UINT64)             # <<<<<<<<<<<<<<
 * NATIVE_FLOAT = lockid(H5T_NATIVE_FLOAT)
 * NATIVE_DOUBLE = lockid(H5T_NATIVE_DOUBLE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT64, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":175
 * NATIVE_INT64 = lockid(H5T_NATIVE_INT64)
 * NATIVE_UINT64 = lockid(H5T_NATIVE_UINT64)
 * NATIVE_FLOAT = lockid(H5T_NATIVE_FLOAT)             # <<<<<<<<<<<<<<
 * NATIVE_DOUBLE = lockid(H5T_NATIVE_DOUBLE)
 * 
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_FLOAT, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":176
 * NATIVE_UINT64 = lockid(H5T_NATIVE_UINT64)
 * NATIVE_FLOAT = lockid(H5T_NATIVE_FLOAT)
 * NATIVE_DOUBLE = lockid(H5T_NATIVE_DOUBLE)             # <<<<<<<<<<<<<<
 * 
 * # Unix time types
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_DOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_DOUBLE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":179
 * 
 * # Unix time types
 * UNIX_D32LE = lockid(H5T_UNIX_D32LE)             # <<<<<<<<<<<<<<
 * UNIX_D64LE = lockid(H5T_UNIX_D64LE)
 * UNIX_D32BE = lockid(H5T_UNIX_D32BE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D32LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":180
 * # Unix time types
 * UNIX_D32LE = lockid(H5T_UNIX_D32LE)
 * UNIX_D64LE = lockid(H5T_UNIX_D64LE)             # <<<<<<<<<<<<<<
 * UNIX_D32BE = lockid(H5T_UNIX_D32BE)
 * UNIX_D64BE = lockid(H5T_UNIX_D64BE)
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D64LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":181
 * UNIX_D32LE = lockid(H5T_UNIX_D32LE)
 * UNIX_D64LE = lockid(H5T_UNIX_D64LE)
 * UNIX_D32BE = lockid(H5T_UNIX_D32BE)             # <<<<<<<<<<<<<<
 * UNIX_D64BE = lockid(H5T_UNIX_D64BE)
 * 
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D32BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":182
 * UNIX_D64LE = lockid(H5T_UNIX_D64LE)
 * UNIX_D32BE = lockid(H5T_UNIX_D32BE)
 * UNIX_D64BE = lockid(H5T_UNIX_D64BE)             # <<<<<<<<<<<<<<
 * 
 * # Reference types
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D64BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":185
 * 
 * # Reference types
 * STD_REF_OBJ = lockid(H5T_STD_REF_OBJ)             # <<<<<<<<<<<<<<
 * STD_REF_DSETREG = lockid(H5T_STD_REF_DSETREG)
 * 
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_REF_OBJ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_REF_OBJ, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":186
 * # Reference types
 * STD_REF_OBJ = lockid(H5T_STD_REF_OBJ)
 * STD_REF_DSETREG = lockid(H5T_STD_REF_DSETREG)             # <<<<<<<<<<<<<<
 * 
 * # Null terminated (C) and Fortran string types
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_REF_DSETREG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_REF_DSETREG, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":189
 * 
 * # Null terminated (C) and Fortran string types
 * C_S1 = lockid(H5T_C_S1)             # <<<<<<<<<<<<<<
 * FORTRAN_S1 = lockid(H5T_FORTRAN_S1)
 * VARIABLE = H5T_VARIABLE
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_C_S1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__C_S1, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":190
 * # Null terminated (C) and Fortran string types
 * C_S1 = lockid(H5T_C_S1)
 * FORTRAN_S1 = lockid(H5T_FORTRAN_S1)             # <<<<<<<<<<<<<<
 * VARIABLE = H5T_VARIABLE
 * 
 */
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_FORTRAN_S1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FORTRAN_S1, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":191
 * C_S1 = lockid(H5T_C_S1)
 * FORTRAN_S1 = lockid(H5T_FORTRAN_S1)
 * VARIABLE = H5T_VARIABLE             # <<<<<<<<<<<<<<
 * 
 * # Character sets
 */
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(H5T_VARIABLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__VARIABLE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":194
 * 
 * # Character sets
 * CSET_ASCII = H5T_CSET_ASCII             # <<<<<<<<<<<<<<
 * CSET_UTF8 = H5T_CSET_UTF8
 * 
 */
  __pyx_t_4 = PyInt_FromLong(H5T_CSET_ASCII); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CSET_ASCII, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":195
 * # Character sets
 * CSET_ASCII = H5T_CSET_ASCII
 * CSET_UTF8 = H5T_CSET_UTF8             # <<<<<<<<<<<<<<
 * 
 * # Custom Python object pointer type
 */
  __pyx_t_4 = PyInt_FromLong(H5T_CSET_UTF8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CSET_UTF8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":198
 * 
 * # Custom Python object pointer type
 * PYTHON_OBJECT = lockid(_conv.get_python_obj())             # <<<<<<<<<<<<<<
 * 
 * # Mini floats
 */
  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s___conv); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__get_python_obj); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_7 = __Pyx_PyInt_from_py_hid_t(__pyx_t_4); if (unlikely((__pyx_t_7 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(__pyx_t_7); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PYTHON_OBJECT, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":201
 * 
 * # Mini floats
 * IEEE_F16BE = IEEE_F32BE.copy()             # <<<<<<<<<<<<<<
 * IEEE_F16BE.set_fields(15, 10, 5, 0, 10)
 * IEEE_F16BE.set_size(2)
 */
  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__copy); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F16BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":202
 * # Mini floats
 * IEEE_F16BE = IEEE_F32BE.copy()
 * IEEE_F16BE.set_fields(15, 10, 5, 0, 10)             # <<<<<<<<<<<<<<
 * IEEE_F16BE.set_size(2)
 * IEEE_F16BE.set_ebias(15)
 */
  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__set_fields); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_k_tuple_50), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":203
 * IEEE_F16BE = IEEE_F32BE.copy()
 * IEEE_F16BE.set_fields(15, 10, 5, 0, 10)
 * IEEE_F16BE.set_size(2)             # <<<<<<<<<<<<<<
 * IEEE_F16BE.set_ebias(15)
 * IEEE_F16BE.lock()
 */
  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__set_size); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_k_tuple_51), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":204
 * IEEE_F16BE.set_fields(15, 10, 5, 0, 10)
 * IEEE_F16BE.set_size(2)
 * IEEE_F16BE.set_ebias(15)             # <<<<<<<<<<<<<<
 * IEEE_F16BE.lock()
 * 
 */
  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__set_ebias); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_k_tuple_52), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":205
 * IEEE_F16BE.set_size(2)
 * IEEE_F16BE.set_ebias(15)
 * IEEE_F16BE.lock()             # <<<<<<<<<<<<<<
 * 
 * IEEE_F16LE = IEEE_F16BE.copy()
 */
  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__lock); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":207
 * IEEE_F16BE.lock()
 * 
 * IEEE_F16LE = IEEE_F16BE.copy()             # <<<<<<<<<<<<<<
 * IEEE_F16LE.set_order(H5T_ORDER_LE)
 * IEEE_F16LE.lock()
 */
  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__copy); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F16LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":208
 * 
 * IEEE_F16LE = IEEE_F16BE.copy()
 * IEEE_F16LE.set_order(H5T_ORDER_LE)             # <<<<<<<<<<<<<<
 * IEEE_F16LE.lock()
 * 
 */
  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__set_order); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":209
 * IEEE_F16LE = IEEE_F16BE.copy()
 * IEEE_F16LE.set_order(H5T_ORDER_LE)
 * IEEE_F16LE.lock()             # <<<<<<<<<<<<<<
 * 
 * # Translation tables for HDF5 -> NumPy dtype conversion
 */
  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__lock); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":212
 * 
 * # Translation tables for HDF5 -> NumPy dtype conversion
 * cdef dict _order_map = { H5T_ORDER_NONE: '|', H5T_ORDER_LE: '<', H5T_ORDER_BE: '>'}             # <<<<<<<<<<<<<<
 * cdef dict _sign_map  = { H5T_SGN_NONE: 'u', H5T_SGN_2: 'i' }
 * 
 */
  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
  __pyx_t_8 = PyInt_FromLong(H5T_ORDER_NONE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_8, ((PyObject *)__pyx_kp_s_53)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_8, ((PyObject *)__pyx_kp_s_54)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyInt_FromLong(H5T_ORDER_BE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_8, ((PyObject *)__pyx_kp_s_55)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__order_map));
  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__order_map));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
  __pyx_v_4h5py_3h5t__order_map = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":213
 * # Translation tables for HDF5 -> NumPy dtype conversion
 * cdef dict _order_map = { H5T_ORDER_NONE: '|', H5T_ORDER_LE: '<', H5T_ORDER_BE: '>'}
 * cdef dict _sign_map  = { H5T_SGN_NONE: 'u', H5T_SGN_2: 'i' }             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
  __pyx_t_8 = PyInt_FromLong(H5T_SGN_NONE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_8, ((PyObject *)__pyx_n_s__u)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyInt_FromLong(H5T_SGN_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  if (PyDict_SetItem(__pyx_t_4, __pyx_t_8, ((PyObject *)__pyx_n_s__i)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__sign_map));
  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__sign_map));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
  __pyx_v_4h5py_3h5t__sign_map = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":219
 * 
 * 
 * def create(int classtype, size_t size):             # <<<<<<<<<<<<<<
 *     """(INT classtype, UINT size) => TypeID
 * 
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_3create, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":233
 * 
 * 
 * def open(ObjectID group not None, char* name):             # <<<<<<<<<<<<<<
 *     """(ObjectID group, STRING name) => TypeID
 * 
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_5open, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":241
 * 
 * 
 * def array_create(TypeID base not None, object dims_tpl):             # <<<<<<<<<<<<<<
 *     """(TypeID base, TUPLE dimensions) => TypeArrayID
 * 
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_7array_create, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__array_create, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":262
 * 
 * 
 * def enum_create(TypeID base not None):             # <<<<<<<<<<<<<<
 *     """(TypeID base) => TypeID
 * 
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_9enum_create, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__enum_create, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":270
 * 
 * 
 * def vlen_create(TypeID base not None):             # <<<<<<<<<<<<<<
 *     """(TypeID base) => TypeID
 * 
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_11vlen_create, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__vlen_create, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":281
 * 
 * 
 * def decode(char* buf):             # <<<<<<<<<<<<<<
 *     """(STRING buf) => TypeID
 * 
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_13decode, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__decode, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1182
 * # transient and unlocked.
 * 
 * cdef dict _float_le = {2: IEEE_F16LE.id, 4: H5T_IEEE_F32LE, 8: H5T_IEEE_F64LE}             # <<<<<<<<<<<<<<
 * cdef dict _float_be = {2: IEEE_F16BE.id, 4: H5T_IEEE_F32BE, 8: H5T_IEEE_F64BE}
 * cdef dict _float_nt = _float_le if ORDER_NATIVE == H5T_ORDER_LE else _float_be
 */
  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
  __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16LE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s__id); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyInt_FromLong(H5T_IEEE_F32LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyInt_FromLong(H5T_IEEE_F64LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__float_le));
  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__float_le));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
  __pyx_v_4h5py_3h5t__float_le = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1183
 * 
 * cdef dict _float_le = {2: IEEE_F16LE.id, 4: H5T_IEEE_F32LE, 8: H5T_IEEE_F64LE}
 * cdef dict _float_be = {2: IEEE_F16BE.id, 4: H5T_IEEE_F32BE, 8: H5T_IEEE_F64BE}             # <<<<<<<<<<<<<<
 * cdef dict _float_nt = _float_le if ORDER_NATIVE == H5T_ORDER_LE else _float_be
 * 
 */
  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
  __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__id); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyInt_FromLong(H5T_IEEE_F32BE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyInt_FromLong(H5T_IEEE_F64BE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__float_be));
  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__float_be));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
  __pyx_v_4h5py_3h5t__float_be = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1184
 * cdef dict _float_le = {2: IEEE_F16LE.id, 4: H5T_IEEE_F32LE, 8: H5T_IEEE_F64LE}
 * cdef dict _float_be = {2: IEEE_F16BE.id, 4: H5T_IEEE_F32BE, 8: H5T_IEEE_F64BE}
 * cdef dict _float_nt = _float_le if ORDER_NATIVE == H5T_ORDER_LE else _float_be             # <<<<<<<<<<<<<<
 * 
 * cdef dict _int_le = {1: H5T_STD_I8LE, 2: H5T_STD_I16LE, 4: H5T_STD_I32LE, 8: H5T_STD_I64LE}
 */
  __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__ORDER_NATIVE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_9 = PyObject_RichCompare(__pyx_t_8, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (__pyx_t_6) {
    __Pyx_INCREF(((PyObject *)__pyx_v_4h5py_3h5t__float_le));
    __pyx_t_4 = __pyx_v_4h5py_3h5t__float_le;
  } else {
    __Pyx_INCREF(((PyObject *)__pyx_v_4h5py_3h5t__float_be));
    __pyx_t_4 = __pyx_v_4h5py_3h5t__float_be;
  }
  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__float_nt));
  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__float_nt));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
  __pyx_v_4h5py_3h5t__float_nt = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1186
 * cdef dict _float_nt = _float_le if ORDER_NATIVE == H5T_ORDER_LE else _float_be
 * 
 * cdef dict _int_le = {1: H5T_STD_I8LE, 2: H5T_STD_I16LE, 4: H5T_STD_I32LE, 8: H5T_STD_I64LE}             # <<<<<<<<<<<<<<
 * cdef dict _int_be = {1: H5T_STD_I8BE, 2: H5T_STD_I16BE, 4: H5T_STD_I32BE, 8: H5T_STD_I64BE}
 * cdef dict _int_nt = {1: H5T_NATIVE_INT8, 2: H5T_NATIVE_INT16, 4: H5T_NATIVE_INT32, 8: H5T_NATIVE_INT64}
 */
  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
  __pyx_t_9 = PyInt_FromLong(H5T_STD_I8LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_STD_I16LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_STD_I32LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_STD_I64LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__int_le));
  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__int_le));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
  __pyx_v_4h5py_3h5t__int_le = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1187
 * 
 * cdef dict _int_le = {1: H5T_STD_I8LE, 2: H5T_STD_I16LE, 4: H5T_STD_I32LE, 8: H5T_STD_I64LE}
 * cdef dict _int_be = {1: H5T_STD_I8BE, 2: H5T_STD_I16BE, 4: H5T_STD_I32BE, 8: H5T_STD_I64BE}             # <<<<<<<<<<<<<<
 * cdef dict _int_nt = {1: H5T_NATIVE_INT8, 2: H5T_NATIVE_INT16, 4: H5T_NATIVE_INT32, 8: H5T_NATIVE_INT64}
 * 
 */
  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
  __pyx_t_9 = PyInt_FromLong(H5T_STD_I8BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_STD_I16BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_STD_I32BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_STD_I64BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__int_be));
  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__int_be));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
  __pyx_v_4h5py_3h5t__int_be = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1188
 * cdef dict _int_le = {1: H5T_STD_I8LE, 2: H5T_STD_I16LE, 4: H5T_STD_I32LE, 8: H5T_STD_I64LE}
 * cdef dict _int_be = {1: H5T_STD_I8BE, 2: H5T_STD_I16BE, 4: H5T_STD_I32BE, 8: H5T_STD_I64BE}
 * cdef dict _int_nt = {1: H5T_NATIVE_INT8, 2: H5T_NATIVE_INT16, 4: H5T_NATIVE_INT32, 8: H5T_NATIVE_INT64}             # <<<<<<<<<<<<<<
 * 
 * cdef dict _uint_le = {1: H5T_STD_U8LE, 2: H5T_STD_U16LE, 4: H5T_STD_U32LE, 8: H5T_STD_U64LE}
 */
  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_INT8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_INT16); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_INT32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_INT64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__int_nt));
  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__int_nt));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
  __pyx_v_4h5py_3h5t__int_nt = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1190
 * cdef dict _int_nt = {1: H5T_NATIVE_INT8, 2: H5T_NATIVE_INT16, 4: H5T_NATIVE_INT32, 8: H5T_NATIVE_INT64}
 * 
 * cdef dict _uint_le = {1: H5T_STD_U8LE, 2: H5T_STD_U16LE, 4: H5T_STD_U32LE, 8: H5T_STD_U64LE}             # <<<<<<<<<<<<<<
 * cdef dict _uint_be = {1: H5T_STD_U8BE, 2: H5T_STD_U16BE, 4: H5T_STD_U32BE, 8: H5T_STD_U64BE}
 * cdef dict _uint_nt = {1: H5T_NATIVE_UINT8, 2: H5T_NATIVE_UINT16, 4: H5T_NATIVE_UINT32, 8: H5T_NATIVE_UINT64}
 */
  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
  __pyx_t_9 = PyInt_FromLong(H5T_STD_U8LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_STD_U16LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_STD_U32LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_STD_U64LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_le));
  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_le));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
  __pyx_v_4h5py_3h5t__uint_le = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1191
 * 
 * cdef dict _uint_le = {1: H5T_STD_U8LE, 2: H5T_STD_U16LE, 4: H5T_STD_U32LE, 8: H5T_STD_U64LE}
 * cdef dict _uint_be = {1: H5T_STD_U8BE, 2: H5T_STD_U16BE, 4: H5T_STD_U32BE, 8: H5T_STD_U64BE}             # <<<<<<<<<<<<<<
 * cdef dict _uint_nt = {1: H5T_NATIVE_UINT8, 2: H5T_NATIVE_UINT16, 4: H5T_NATIVE_UINT32, 8: H5T_NATIVE_UINT64}
 * 
 */
  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
  __pyx_t_9 = PyInt_FromLong(H5T_STD_U8BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_STD_U16BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_STD_U32BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_STD_U64BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_be));
  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_be));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
  __pyx_v_4h5py_3h5t__uint_be = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1192
 * cdef dict _uint_le = {1: H5T_STD_U8LE, 2: H5T_STD_U16LE, 4: H5T_STD_U32LE, 8: H5T_STD_U64LE}
 * cdef dict _uint_be = {1: H5T_STD_U8BE, 2: H5T_STD_U16BE, 4: H5T_STD_U32BE, 8: H5T_STD_U64BE}
 * cdef dict _uint_nt = {1: H5T_NATIVE_UINT8, 2: H5T_NATIVE_UINT16, 4: H5T_NATIVE_UINT32, 8: H5T_NATIVE_UINT64}             # <<<<<<<<<<<<<<
 * 
 * cdef TypeFloatID _c_float(dtype dt):
 */
  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_UINT8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_UINT16); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_UINT32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_UINT64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_nt));
  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_nt));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
  __pyx_v_4h5py_3h5t__uint_nt = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1459
 *         raise TypeError("No conversion path for dtype: %s" % repr(dt))
 * 
 * def special_dtype(**kwds):             # <<<<<<<<<<<<<<
 *     """ Create a new h5py "special" type.  Only one keyword may be given.
 * 
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_17special_dtype, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__special_dtype, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1512
 *     raise TypeError('Unknown special type "%s"' % name)
 * 
 * def check_dtype(**kwds):             # <<<<<<<<<<<<<<
 *     """ Check a dtype for h5py special type "hint" information.  Only one
 *     keyword may be given.
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_19check_dtype, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__check_dtype, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1551
 *     return None
 * 
 * def convert(TypeID src not None, TypeID dst not None, size_t n,             # <<<<<<<<<<<<<<
 *             ndarray buf not None, ndarray bkg=None, ObjectID dxpl=None):
 *     """ (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None,
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_21convert, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__convert, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1572
 *     H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl))
 * 
 * def find(TypeID src not None, TypeID dst not None):             # <<<<<<<<<<<<<<
 *     """ (TypeID src, TypeID dst) => TUPLE or None
 * 
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_23find, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__find, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1595
 * # Deprecated functions
 * 
 * import warnings             # <<<<<<<<<<<<<<
 * 
 * cpdef dtype py_new_enum(object dt_in, dict enum_vals):
 */
  __pyx_t_4 = __Pyx_Import(((PyObject *)__pyx_n_s__warnings), 0, -1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__warnings, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5t.pyx":1
 * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
 * #
 * # http://www.h5py.org
 */
  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_4)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  if (__pyx_m) {
    __Pyx_AddTraceback("init h5py.h5t", __pyx_clineno, __pyx_lineno, __pyx_filename);
    Py_DECREF(__pyx_m); __pyx_m = 0;
  } else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_ImportError, "init h5py.h5t");
  }
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  #if PY_MAJOR_VERSION < 3
  return;
  #else
  return __pyx_m;
  #endif
}

/* Runtime support code */
#if CYTHON_REFNANNY
static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
    PyObject *m = NULL, *p = NULL;
    void *r = NULL;
    m = PyImport_ImportModule((char *)modname);
    if (!m) goto end;
    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
    if (!p) goto end;
    r = PyLong_AsVoidPtr(p);
end:
    Py_XDECREF(p);
    Py_XDECREF(m);
    return (__Pyx_RefNannyAPIStruct *)r;
}
#endif /* CYTHON_REFNANNY */

static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
    PyObject *result;
    result = PyObject_GetAttr(dict, name);
    if (!result) {
        if (dict != __pyx_b) {
            PyErr_Clear();
            result = PyObject_GetAttr(__pyx_b, name);
        }
        if (!result) {
            PyErr_SetObject(PyExc_NameError, name);
        }
    }
    return result;
}

static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
    if (unlikely(!type)) {
        PyErr_Format(PyExc_SystemError, "Missing type object");
        return 0;
    }
    if (likely(PyObject_TypeCheck(obj, type)))
        return 1;
    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
                 Py_TYPE(obj)->tp_name, type->tp_name);
    return 0;
}

static void __Pyx_RaiseArgtupleInvalid(
    const char* func_name,
    int exact,
    Py_ssize_t num_min,
    Py_ssize_t num_max,
    Py_ssize_t num_found)
{
    Py_ssize_t num_expected;
    const char *more_or_less;
    if (num_found < num_min) {
        num_expected = num_min;
        more_or_less = "at least";
    } else {
        num_expected = num_max;
        more_or_less = "at most";
    }
    if (exact) {
        more_or_less = "exactly";
    }
    PyErr_Format(PyExc_TypeError,
                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
                 func_name, more_or_less, num_expected,
                 (num_expected == 1) ? "" : "s", num_found);
}

static void __Pyx_RaiseDoubleKeywordsError(
    const char* func_name,
    PyObject* kw_name)
{
    PyErr_Format(PyExc_TypeError,
        #if PY_MAJOR_VERSION >= 3
        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
        #else
        "%s() got multiple values for keyword argument '%s'", func_name,
        PyString_AsString(kw_name));
        #endif
}

static int __Pyx_ParseOptionalKeywords(
    PyObject *kwds,
    PyObject **argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name)
{
    PyObject *key = 0, *value = 0;
    Py_ssize_t pos = 0;
    PyObject*** name;
    PyObject*** first_kw_arg = argnames + num_pos_args;
    while (PyDict_Next(kwds, &pos, &key, &value)) {
        name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (*name) {
            values[name-argnames] = value;
            continue;
        }
        name = first_kw_arg;
        #if PY_MAJOR_VERSION < 3
        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
            while (*name) {
                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
                        && _PyString_Eq(**name, key)) {
                    values[name-argnames] = value;
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    if ((**argname == key) || (
                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
                             && _PyString_Eq(**argname, key))) {
                        goto arg_passed_twice;
                    }
                    argname++;
                }
            }
        } else
        #endif
        if (likely(PyUnicode_Check(key))) {
            while (*name) {
                int cmp = (**name == key) ? 0 :
                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                #endif
                    PyUnicode_Compare(**name, key);
                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                if (cmp == 0) {
                    values[name-argnames] = value;
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    int cmp = (**argname == key) ? 0 :
                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                    #endif
                        PyUnicode_Compare(**argname, key);
                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                    if (cmp == 0) goto arg_passed_twice;
                    argname++;
                }
            }
        } else
            goto invalid_keyword_type;
        if (kwds2) {
            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
        } else {
            goto invalid_keyword;
        }
    }
    return 0;
arg_passed_twice:
    __Pyx_RaiseDoubleKeywordsError(function_name, key);
    goto bad;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%s() keywords must be strings", function_name);
    goto bad;
invalid_keyword:
    PyErr_Format(PyExc_TypeError,
    #if PY_MAJOR_VERSION < 3
        "%s() got an unexpected keyword argument '%s'",
        function_name, PyString_AsString(key));
    #else
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
bad:
    return -1;
}

static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
#if CYTHON_COMPILING_IN_CPYTHON
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    PyThreadState *tstate = PyThreadState_GET();
    tmp_type = tstate->curexc_type;
    tmp_value = tstate->curexc_value;
    tmp_tb = tstate->curexc_traceback;
    tstate->curexc_type = type;
    tstate->curexc_value = value;
    tstate->curexc_traceback = tb;
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#else
    PyErr_Restore(type, value, tb);
#endif
}
static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
#if CYTHON_COMPILING_IN_CPYTHON
    PyThreadState *tstate = PyThreadState_GET();
    *type = tstate->curexc_type;
    *value = tstate->curexc_value;
    *tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
#else
    PyErr_Fetch(type, value, tb);
#endif
}

#if PY_MAJOR_VERSION < 3
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
                        CYTHON_UNUSED PyObject *cause) {
    Py_XINCREF(type);
    if (!value || value == Py_None)
        value = NULL;
    else
        Py_INCREF(value);
    if (!tb || tb == Py_None)
        tb = NULL;
    else {
        Py_INCREF(tb);
        if (!PyTraceBack_Check(tb)) {
            PyErr_SetString(PyExc_TypeError,
                "raise: arg 3 must be a traceback or None");
            goto raise_error;
        }
    }
    #if PY_VERSION_HEX < 0x02050000
    if (PyClass_Check(type)) {
    #else
    if (PyType_Check(type)) {
    #endif
#if CYTHON_COMPILING_IN_PYPY
        if (!value) {
            Py_INCREF(Py_None);
            value = Py_None;
        }
#endif
        PyErr_NormalizeException(&type, &value, &tb);
    } else {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto raise_error;
        }
        value = type;
        #if PY_VERSION_HEX < 0x02050000
            if (PyInstance_Check(type)) {
                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
                Py_INCREF(type);
            }
            else {
                type = 0;
                PyErr_SetString(PyExc_TypeError,
                    "raise: exception must be an old-style class or instance");
                goto raise_error;
            }
        #else
            type = (PyObject*) Py_TYPE(type);
            Py_INCREF(type);
            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
                PyErr_SetString(PyExc_TypeError,
                    "raise: exception class must be a subclass of BaseException");
                goto raise_error;
            }
        #endif
    }
    __Pyx_ErrRestore(type, value, tb);
    return;
raise_error:
    Py_XDECREF(value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
    return;
}
#else /* Python 3+ */
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
    PyObject* owned_instance = NULL;
    if (tb == Py_None) {
        tb = 0;
    } else if (tb && !PyTraceBack_Check(tb)) {
        PyErr_SetString(PyExc_TypeError,
            "raise: arg 3 must be a traceback or None");
        goto bad;
    }
    if (value == Py_None)
        value = 0;
    if (PyExceptionInstance_Check(type)) {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto bad;
        }
        value = type;
        type = (PyObject*) Py_TYPE(value);
    } else if (PyExceptionClass_Check(type)) {
        PyObject *args;
        if (!value)
            args = PyTuple_New(0);
        else if (PyTuple_Check(value)) {
            Py_INCREF(value);
            args = value;
        }
        else
            args = PyTuple_Pack(1, value);
        if (!args)
            goto bad;
        owned_instance = PyEval_CallObject(type, args);
        Py_DECREF(args);
        if (!owned_instance)
            goto bad;
        value = owned_instance;
        if (!PyExceptionInstance_Check(value)) {
            PyErr_Format(PyExc_TypeError,
                         "calling %R should have returned an instance of "
                         "BaseException, not %R",
                         type, Py_TYPE(value));
            goto bad;
        }
    } else {
        PyErr_SetString(PyExc_TypeError,
            "raise: exception class must be a subclass of BaseException");
        goto bad;
    }
    if (cause && cause != Py_None) {
        PyObject *fixed_cause;
        if (PyExceptionClass_Check(cause)) {
            fixed_cause = PyObject_CallObject(cause, NULL);
            if (fixed_cause == NULL)
                goto bad;
        }
        else if (PyExceptionInstance_Check(cause)) {
            fixed_cause = cause;
            Py_INCREF(fixed_cause);
        }
        else {
            PyErr_SetString(PyExc_TypeError,
                            "exception causes must derive from "
                            "BaseException");
            goto bad;
        }
        PyException_SetCause(value, fixed_cause);
    }
    PyErr_SetObject(type, value);
    if (tb) {
        PyThreadState *tstate = PyThreadState_GET();
        PyObject* tmp_tb = tstate->curexc_traceback;
        if (tb != tmp_tb) {
            Py_INCREF(tb);
            tstate->curexc_traceback = tb;
            Py_XDECREF(tmp_tb);
        }
    }
bad:
    Py_XDECREF(owned_instance);
    return;
}
#endif

static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
    const char *name, int exact)
{
    if (!type) {
        PyErr_Format(PyExc_SystemError, "Missing type object");
        return 0;
    }
    if (none_allowed && obj == Py_None) return 1;
    else if (exact) {
        if (Py_TYPE(obj) == type) return 1;
    }
    else {
        if (PyObject_TypeCheck(obj, type)) return 1;
    }
    PyErr_Format(PyExc_TypeError,
        "Argument '%s' has incorrect type (expected %s, got %s)",
        name, type->tp_name, Py_TYPE(obj)->tp_name);
    return 0;
}

static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *local_type, *local_value, *local_tb;
#if CYTHON_COMPILING_IN_CPYTHON
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    PyThreadState *tstate = PyThreadState_GET();
    local_type = tstate->curexc_type;
    local_value = tstate->curexc_value;
    local_tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
#else
    PyErr_Fetch(&local_type, &local_value, &local_tb);
#endif
    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
#if CYTHON_COMPILING_IN_CPYTHON
    if (unlikely(tstate->curexc_type))
#else
    if (unlikely(PyErr_Occurred()))
#endif
        goto bad;
    #if PY_MAJOR_VERSION >= 3
    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
        goto bad;
    #endif
    Py_INCREF(local_type);
    Py_INCREF(local_value);
    Py_INCREF(local_tb);
    *type = local_type;
    *value = local_value;
    *tb = local_tb;
#if CYTHON_COMPILING_IN_CPYTHON
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = local_type;
    tstate->exc_value = local_value;
    tstate->exc_traceback = local_tb;
    /* Make sure tstate is in a consistent state when we XDECREF
       these objects (DECREF may run arbitrary code). */
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#else
    PyErr_SetExcInfo(local_type, local_value, local_tb);
#endif
    return 0;
bad:
    *type = 0;
    *value = 0;
    *tb = 0;
    Py_XDECREF(local_type);
    Py_XDECREF(local_value);
    Py_XDECREF(local_tb);
    return -1;
}

static CYTHON_INLINE int __Pyx_IterFinish(void) {
#if CYTHON_COMPILING_IN_CPYTHON
    PyThreadState *tstate = PyThreadState_GET();
    PyObject* exc_type = tstate->curexc_type;
    if (unlikely(exc_type)) {
        if (likely(exc_type == PyExc_StopIteration) || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)) {
            PyObject *exc_value, *exc_tb;
            exc_value = tstate->curexc_value;
            exc_tb = tstate->curexc_traceback;
            tstate->curexc_type = 0;
            tstate->curexc_value = 0;
            tstate->curexc_traceback = 0;
            Py_DECREF(exc_type);
            Py_XDECREF(exc_value);
            Py_XDECREF(exc_tb);
            return 0;
        } else {
            return -1;
        }
    }
    return 0;
#else
    if (unlikely(PyErr_Occurred())) {
        if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) {
            PyErr_Clear();
            return 0;
        } else {
            return -1;
        }
    }
    return 0;
#endif
}

static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
    PyErr_Format(PyExc_ValueError,
                 "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
}

static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
    PyErr_Format(PyExc_ValueError,
                 "need more than %" CYTHON_FORMAT_SSIZE_T "d value%s to unpack",
                 index, (index == 1) ? "" : "s");
}

static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
}

static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
    if (t == Py_None) {
      __Pyx_RaiseNoneNotIterableError();
    } else if (PyTuple_GET_SIZE(t) < index) {
      __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t));
    } else {
      __Pyx_RaiseTooManyValuesError(index);
    }
}

static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
    if (unlikely(retval)) {
        Py_DECREF(retval);
        __Pyx_RaiseTooManyValuesError(expected);
        return -1;
    } else {
        return __Pyx_IterFinish();
    }
    return 0;
}

static CYTHON_INLINE int __Pyx_unpack_tuple2(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2,
                                             int is_tuple, int has_known_size, int decref_tuple) {
    Py_ssize_t index;
    PyObject *value1 = NULL, *value2 = NULL, *iter = NULL;
    if (!is_tuple && unlikely(!PyTuple_Check(tuple))) {
        iternextfunc iternext;
        iter = PyObject_GetIter(tuple);
        if (unlikely(!iter)) goto bad;
        if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; }
        iternext = Py_TYPE(iter)->tp_iternext;
        value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; }
        value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; }
        if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad;
        Py_DECREF(iter);
    } else {
        if (!has_known_size && unlikely(PyTuple_GET_SIZE(tuple) != 2)) {
            __Pyx_UnpackTupleError(tuple, 2);
            goto bad;
        }
#if CYTHON_COMPILING_IN_PYPY
        value1 = PySequence_ITEM(tuple, 0);
        if (unlikely(!value1)) goto bad;
        value2 = PySequence_ITEM(tuple, 1);
        if (unlikely(!value2)) goto bad;
#else
        value1 = PyTuple_GET_ITEM(tuple, 0);
        value2 = PyTuple_GET_ITEM(tuple, 1);
        Py_INCREF(value1);
        Py_INCREF(value2);
#endif
        if (decref_tuple) { Py_DECREF(tuple); }
    }
    *pvalue1 = value1;
    *pvalue2 = value2;
    return 0;
unpacking_failed:
    if (!has_known_size && __Pyx_IterFinish() == 0)
        __Pyx_RaiseNeedMoreValuesError(index);
bad:
    Py_XDECREF(iter);
    Py_XDECREF(value1);
    Py_XDECREF(value2);
    if (decref_tuple) { Py_XDECREF(tuple); }
    return -1;
}

static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name,
                                                   Py_ssize_t* p_orig_length, int* p_source_is_dict) {
    is_dict = is_dict || likely(PyDict_CheckExact(iterable));
    *p_source_is_dict = is_dict;
#if !CYTHON_COMPILING_IN_PYPY
    if (is_dict) {
        *p_orig_length = PyDict_Size(iterable);
        Py_INCREF(iterable);
        return iterable;
    }
#endif
    *p_orig_length = 0;
    if (method_name) {
        PyObject* iter;
        iterable = PyObject_CallMethodObjArgs(iterable, method_name, NULL);
        if (!iterable)
            return NULL;
#if !CYTHON_COMPILING_IN_PYPY
        if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable))
            return iterable;
#endif
        iter = PyObject_GetIter(iterable);
        Py_DECREF(iterable);
        return iter;
    }
    return PyObject_GetIter(iterable);
}
static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* iter_obj, Py_ssize_t orig_length, Py_ssize_t* ppos,
                                              PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) {
    PyObject* next_item;
#if !CYTHON_COMPILING_IN_PYPY
    if (source_is_dict) {
        PyObject *key, *value;
        if (unlikely(orig_length != PyDict_Size(iter_obj))) {
            PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration");
            return -1;
        }
        if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) {
            return 0;
        }
        if (pitem) {
            PyObject* tuple = PyTuple_New(2);
            if (unlikely(!tuple)) {
                return -1;
            }
            Py_INCREF(key);
            Py_INCREF(value);
            PyTuple_SET_ITEM(tuple, 0, key);
            PyTuple_SET_ITEM(tuple, 1, value);
            *pitem = tuple;
        } else {
            if (pkey) {
                Py_INCREF(key);
                *pkey = key;
            }
            if (pvalue) {
                Py_INCREF(value);
                *pvalue = value;
            }
        }
        return 1;
    } else if (PyTuple_CheckExact(iter_obj)) {
        Py_ssize_t pos = *ppos;
        if (unlikely(pos >= PyTuple_GET_SIZE(iter_obj))) return 0;
        *ppos = pos + 1;
        next_item = PyTuple_GET_ITEM(iter_obj, pos);
        Py_INCREF(next_item);
    } else if (PyList_CheckExact(iter_obj)) {
        Py_ssize_t pos = *ppos;
        if (unlikely(pos >= PyList_GET_SIZE(iter_obj))) return 0;
        *ppos = pos + 1;
        next_item = PyList_GET_ITEM(iter_obj, pos);
        Py_INCREF(next_item);
    } else
#endif
    {
        next_item = PyIter_Next(iter_obj);
        if (unlikely(!next_item)) {
            return __Pyx_IterFinish();
        }
    }
    if (pitem) {
        *pitem = next_item;
    } else if (pkey && pvalue) {
        if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1))
            return -1;
    } else if (pkey) {
        *pkey = next_item;
    } else {
        *pvalue = next_item;
    }
    return 1;
}

static CYTHON_INLINE int __Pyx_CheckKeywordStrings(
    PyObject *kwdict,
    const char* function_name,
    int kw_allowed)
{
    PyObject* key = 0;
    Py_ssize_t pos = 0;
#if CPYTHON_COMPILING_IN_PYPY
    if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
        goto invalid_keyword;
    return 1;
#else
    while (PyDict_Next(kwdict, &pos, &key, 0)) {
        #if PY_MAJOR_VERSION < 3
        if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key)))
        #endif
            if (unlikely(!PyUnicode_Check(key)))
                goto invalid_keyword_type;
    }
    if ((!kw_allowed) && unlikely(key))
        goto invalid_keyword;
    return 1;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%s() keywords must be strings", function_name);
    return 0;
#endif
invalid_keyword:
    PyErr_Format(PyExc_TypeError,
    #if PY_MAJOR_VERSION < 3
        "%s() got an unexpected keyword argument '%s'",
        function_name, PyString_AsString(key));
    #else
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
    return 0;
}

static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) {
    PyTypeObject* type = Py_TYPE(obj);
    while (type && type->tp_dealloc != current_tp_dealloc)
        type = type->tp_base;
    while (type && type->tp_dealloc == current_tp_dealloc)
        type = type->tp_base;
    if (type)
        type->tp_dealloc(obj);
}

static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
    PyTypeObject* type = Py_TYPE(obj);
    while (type && type->tp_traverse != current_tp_traverse)
        type = type->tp_base;
    while (type && type->tp_traverse == current_tp_traverse)
        type = type->tp_base;
    if (type && type->tp_traverse)
        return type->tp_traverse(obj, v, a);
    return 0;
}

static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
    PyTypeObject* type = Py_TYPE(obj);
    while (type && type->tp_clear != current_tp_clear)
        type = type->tp_base;
    while (type && type->tp_clear == current_tp_clear)
        type = type->tp_base;
    if (type && type->tp_clear)
        type->tp_clear(obj);
}

static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
#if CYTHON_COMPILING_IN_CPYTHON
    PyThreadState *tstate = PyThreadState_GET();
    *type = tstate->exc_type;
    *value = tstate->exc_value;
    *tb = tstate->exc_traceback;
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
#else
    PyErr_GetExcInfo(type, value, tb);
#endif
}
static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
#if CYTHON_COMPILING_IN_CPYTHON
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    PyThreadState *tstate = PyThreadState_GET();
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = type;
    tstate->exc_value = value;
    tstate->exc_traceback = tb;
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#else
    PyErr_SetExcInfo(type, value, tb);
#endif
}

static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
    PyObject *empty_list = 0;
    PyObject *module = 0;
    PyObject *global_dict = 0;
    PyObject *empty_dict = 0;
    PyObject *list;
    #if PY_VERSION_HEX < 0x03030000
    PyObject *py_import = 0;
    py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
    if (!py_import)
        goto bad;
    #endif
    if (from_list)
        list = from_list;
    else {
        empty_list = PyList_New(0);
        if (!empty_list)
            goto bad;
        list = empty_list;
    }
    global_dict = PyModule_GetDict(__pyx_m);
    if (!global_dict)
        goto bad;
    empty_dict = PyDict_New();
    if (!empty_dict)
        goto bad;
    #if PY_VERSION_HEX >= 0x02050000
    {
        #if PY_MAJOR_VERSION >= 3
        if (level == -1) {
            if (strchr(__Pyx_MODULE_NAME, '.')) {
                #if PY_VERSION_HEX < 0x03030000
                PyObject *py_level = PyInt_FromLong(1);
                if (!py_level)
                    goto bad;
                module = PyObject_CallFunctionObjArgs(py_import,
                    name, global_dict, empty_dict, list, py_level, NULL);
                Py_DECREF(py_level);
                #else
                module = PyImport_ImportModuleLevelObject(
                    name, global_dict, empty_dict, list, 1);
                #endif
                if (!module) {
                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
                        goto bad;
                    PyErr_Clear();
                }
            }
            level = 0; /* try absolute import on failure */
        }
        #endif
        if (!module) {
            #if PY_VERSION_HEX < 0x03030000
            PyObject *py_level = PyInt_FromLong(level);
            if (!py_level)
                goto bad;
            module = PyObject_CallFunctionObjArgs(py_import,
                name, global_dict, empty_dict, list, py_level, NULL);
            Py_DECREF(py_level);
            #else
            module = PyImport_ImportModuleLevelObject(
                name, global_dict, empty_dict, list, level);
            #endif
        }
    }
    #else
    if (level>0) {
        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
        goto bad;
    }
    module = PyObject_CallFunctionObjArgs(py_import,
        name, global_dict, empty_dict, list, NULL);
    #endif
bad:
    #if PY_VERSION_HEX < 0x03030000
    Py_XDECREF(py_import);
    #endif
    Py_XDECREF(empty_list);
    Py_XDECREF(empty_dict);
    return module;
}

static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) {
#if PY_MAJOR_VERSION < 3
    PyErr_Format(PyExc_ImportError, "cannot import name %.230s",
                 PyString_AsString(name));
#else
    PyErr_Format(PyExc_ImportError, "cannot import name %S", name);
#endif
}

static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject* x) {
    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
    const int is_unsigned = const_zero < neg_one;
    if (sizeof(hid_t) == sizeof(char)) {
        if (is_unsigned)
            return (hid_t)__Pyx_PyInt_AsUnsignedChar(x);
        else
            return (hid_t)__Pyx_PyInt_AsSignedChar(x);
    } else if (sizeof(hid_t) == sizeof(short)) {
        if (is_unsigned)
            return (hid_t)__Pyx_PyInt_AsUnsignedShort(x);
        else
            return (hid_t)__Pyx_PyInt_AsSignedShort(x);
    } else if (sizeof(hid_t) == sizeof(int)) {
        if (is_unsigned)
            return (hid_t)__Pyx_PyInt_AsUnsignedInt(x);
        else
            return (hid_t)__Pyx_PyInt_AsSignedInt(x);
    } else if (sizeof(hid_t) == sizeof(long)) {
        if (is_unsigned)
            return (hid_t)__Pyx_PyInt_AsUnsignedLong(x);
        else
            return (hid_t)__Pyx_PyInt_AsSignedLong(x);
    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
        if (is_unsigned)
            return (hid_t)__Pyx_PyInt_AsUnsignedLongLong(x);
        else
            return (hid_t)__Pyx_PyInt_AsSignedLongLong(x);
    }  else {
        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
        #else
        hid_t val;
        PyObject *v = __Pyx_PyNumber_Int(x);
        #if PY_VERSION_HEX < 0x03000000
        if (likely(v) && !PyLong_Check(v)) {
            PyObject *tmp = v;
            v = PyNumber_Long(tmp);
            Py_DECREF(tmp);
        }
        #endif
        if (likely(v)) {
            int one = 1; int is_little = (int)*(unsigned char *)&one;
            unsigned char *bytes = (unsigned char *)&val;
            int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                          bytes, sizeof(val),
                                          is_little, !is_unsigned);
            Py_DECREF(v);
            if (likely(!ret))
                return val;
        }
        #endif
        return (hid_t)-1;
    }
}

static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
    const int is_unsigned = const_zero < neg_one;
    if ((sizeof(hid_t) == sizeof(char))  ||
        (sizeof(hid_t) == sizeof(short))) {
        return PyInt_FromLong((long)val);
    } else if ((sizeof(hid_t) == sizeof(int)) ||
               (sizeof(hid_t) == sizeof(long))) {
        if (is_unsigned)
            return PyLong_FromUnsignedLong((unsigned long)val);
        else
            return PyInt_FromLong((long)val);
    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
        if (is_unsigned)
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
        else
            return PyLong_FromLongLong((PY_LONG_LONG)val);
    } else {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
                                     little, !is_unsigned);
    }
}

static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t val) {
    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
    const int is_unsigned = const_zero < neg_one;
    if ((sizeof(hsize_t) == sizeof(char))  ||
        (sizeof(hsize_t) == sizeof(short))) {
        return PyInt_FromLong((long)val);
    } else if ((sizeof(hsize_t) == sizeof(int)) ||
               (sizeof(hsize_t) == sizeof(long))) {
        if (is_unsigned)
            return PyLong_FromUnsignedLong((unsigned long)val);
        else
            return PyInt_FromLong((long)val);
    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
        if (is_unsigned)
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
        else
            return PyLong_FromLongLong((PY_LONG_LONG)val);
    } else {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        return _PyLong_FromByteArray(bytes, sizeof(hsize_t),
                                     little, !is_unsigned);
    }
}

static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(unsigned char) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(unsigned char)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to unsigned char" :
                    "value too large to convert to unsigned char");
            }
            return (unsigned char)-1;
        }
        return (unsigned char)val;
    }
    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
}

static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(unsigned short) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(unsigned short)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to unsigned short" :
                    "value too large to convert to unsigned short");
            }
            return (unsigned short)-1;
        }
        return (unsigned short)val;
    }
    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
}

static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(unsigned int) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(unsigned int)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to unsigned int" :
                    "value too large to convert to unsigned int");
            }
            return (unsigned int)-1;
        }
        return (unsigned int)val;
    }
    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
}

static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
    const char neg_one = (char)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(char) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(char)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to char" :
                    "value too large to convert to char");
            }
            return (char)-1;
        }
        return (char)val;
    }
    return (char)__Pyx_PyInt_AsLong(x);
}

static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
    const short neg_one = (short)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(short) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(short)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to short" :
                    "value too large to convert to short");
            }
            return (short)-1;
        }
        return (short)val;
    }
    return (short)__Pyx_PyInt_AsLong(x);
}

static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
    const int neg_one = (int)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(int) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(int)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to int" :
                    "value too large to convert to int");
            }
            return (int)-1;
        }
        return (int)val;
    }
    return (int)__Pyx_PyInt_AsLong(x);
}

static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
    const signed char neg_one = (signed char)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(signed char) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(signed char)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to signed char" :
                    "value too large to convert to signed char");
            }
            return (signed char)-1;
        }
        return (signed char)val;
    }
    return (signed char)__Pyx_PyInt_AsSignedLong(x);
}

static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
    const signed short neg_one = (signed short)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(signed short) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(signed short)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to signed short" :
                    "value too large to convert to signed short");
            }
            return (signed short)-1;
        }
        return (signed short)val;
    }
    return (signed short)__Pyx_PyInt_AsSignedLong(x);
}

static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
    const signed int neg_one = (signed int)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(signed int) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(signed int)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to signed int" :
                    "value too large to convert to signed int");
            }
            return (signed int)-1;
        }
        return (signed int)val;
    }
    return (signed int)__Pyx_PyInt_AsSignedLong(x);
}

static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
    const int neg_one = (int)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(int) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(int)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to int" :
                    "value too large to convert to int");
            }
            return (int)-1;
        }
        return (int)val;
    }
    return (int)__Pyx_PyInt_AsLong(x);
}

static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_VERSION_HEX < 0x03000000
    if (likely(PyInt_Check(x))) {
        long val = PyInt_AS_LONG(x);
        if (is_unsigned && unlikely(val < 0)) {
            PyErr_SetString(PyExc_OverflowError,
                            "can't convert negative value to unsigned long");
            return (unsigned long)-1;
        }
        return (unsigned long)val;
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to unsigned long");
                return (unsigned long)-1;
            }
            return (unsigned long)PyLong_AsUnsignedLong(x);
        } else {
            return (unsigned long)PyLong_AsLong(x);
        }
    } else {
        unsigned long val;
        PyObject *tmp = __Pyx_PyNumber_Int(x);
        if (!tmp) return (unsigned long)-1;
        val = __Pyx_PyInt_AsUnsignedLong(tmp);
        Py_DECREF(tmp);
        return val;
    }
}

static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_VERSION_HEX < 0x03000000
    if (likely(PyInt_Check(x))) {
        long val = PyInt_AS_LONG(x);
        if (is_unsigned && unlikely(val < 0)) {
            PyErr_SetString(PyExc_OverflowError,
                            "can't convert negative value to unsigned PY_LONG_LONG");
            return (unsigned PY_LONG_LONG)-1;
        }
        return (unsigned PY_LONG_LONG)val;
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to unsigned PY_LONG_LONG");
                return (unsigned PY_LONG_LONG)-1;
            }
            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
        } else {
            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
        }
    } else {
        unsigned PY_LONG_LONG val;
        PyObject *tmp = __Pyx_PyNumber_Int(x);
        if (!tmp) return (unsigned PY_LONG_LONG)-1;
        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
        Py_DECREF(tmp);
        return val;
    }
}

static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
    const long neg_one = (long)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_VERSION_HEX < 0x03000000
    if (likely(PyInt_Check(x))) {
        long val = PyInt_AS_LONG(x);
        if (is_unsigned && unlikely(val < 0)) {
            PyErr_SetString(PyExc_OverflowError,
                            "can't convert negative value to long");
            return (long)-1;
        }
        return (long)val;
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to long");
                return (long)-1;
            }
            return (long)PyLong_AsUnsignedLong(x);
        } else {
            return (long)PyLong_AsLong(x);
        }
    } else {
        long val;
        PyObject *tmp = __Pyx_PyNumber_Int(x);
        if (!tmp) return (long)-1;
        val = __Pyx_PyInt_AsLong(tmp);
        Py_DECREF(tmp);
        return val;
    }
}

static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_VERSION_HEX < 0x03000000
    if (likely(PyInt_Check(x))) {
        long val = PyInt_AS_LONG(x);
        if (is_unsigned && unlikely(val < 0)) {
            PyErr_SetString(PyExc_OverflowError,
                            "can't convert negative value to PY_LONG_LONG");
            return (PY_LONG_LONG)-1;
        }
        return (PY_LONG_LONG)val;
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to PY_LONG_LONG");
                return (PY_LONG_LONG)-1;
            }
            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
        } else {
            return (PY_LONG_LONG)PyLong_AsLongLong(x);
        }
    } else {
        PY_LONG_LONG val;
        PyObject *tmp = __Pyx_PyNumber_Int(x);
        if (!tmp) return (PY_LONG_LONG)-1;
        val = __Pyx_PyInt_AsLongLong(tmp);
        Py_DECREF(tmp);
        return val;
    }
}

static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
    const signed long neg_one = (signed long)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_VERSION_HEX < 0x03000000
    if (likely(PyInt_Check(x))) {
        long val = PyInt_AS_LONG(x);
        if (is_unsigned && unlikely(val < 0)) {
            PyErr_SetString(PyExc_OverflowError,
                            "can't convert negative value to signed long");
            return (signed long)-1;
        }
        return (signed long)val;
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to signed long");
                return (signed long)-1;
            }
            return (signed long)PyLong_AsUnsignedLong(x);
        } else {
            return (signed long)PyLong_AsLong(x);
        }
    } else {
        signed long val;
        PyObject *tmp = __Pyx_PyNumber_Int(x);
        if (!tmp) return (signed long)-1;
        val = __Pyx_PyInt_AsSignedLong(tmp);
        Py_DECREF(tmp);
        return val;
    }
}

static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_VERSION_HEX < 0x03000000
    if (likely(PyInt_Check(x))) {
        long val = PyInt_AS_LONG(x);
        if (is_unsigned && unlikely(val < 0)) {
            PyErr_SetString(PyExc_OverflowError,
                            "can't convert negative value to signed PY_LONG_LONG");
            return (signed PY_LONG_LONG)-1;
        }
        return (signed PY_LONG_LONG)val;
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to signed PY_LONG_LONG");
                return (signed PY_LONG_LONG)-1;
            }
            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
        } else {
            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
        }
    } else {
        signed PY_LONG_LONG val;
        PyObject *tmp = __Pyx_PyNumber_Int(x);
        if (!tmp) return (signed PY_LONG_LONG)-1;
        val = __Pyx_PyInt_AsSignedLongLong(tmp);
        Py_DECREF(tmp);
        return val;
    }
}

static int __Pyx_check_binary_version(void) {
    char ctversion[4], rtversion[4];
    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
        char message[200];
        PyOS_snprintf(message, sizeof(message),
                      "compiletime version %s of module '%.100s' "
                      "does not match runtime version %s",
                      ctversion, __Pyx_MODULE_NAME, rtversion);
        #if PY_VERSION_HEX < 0x02050000
        return PyErr_Warn(NULL, message);
        #else
        return PyErr_WarnEx(NULL, message, 1);
        #endif
    }
    return 0;
}

static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
    PyObject *d = 0;
    PyObject *cobj = 0;
    union {
        void (*fp)(void);
        void *p;
    } tmp;
    d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
    if (!d) {
        PyErr_Clear();
        d = PyDict_New();
        if (!d)
            goto bad;
        Py_INCREF(d);
        if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
            goto bad;
    }
    tmp.fp = f;
#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
    cobj = PyCapsule_New(tmp.p, sig, 0);
#else
    cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
#endif
    if (!cobj)
        goto bad;
    if (PyDict_SetItemString(d, name, cobj) < 0)
        goto bad;
    Py_DECREF(cobj);
    Py_DECREF(d);
    return 0;
bad:
    Py_XDECREF(cobj);
    Py_XDECREF(d);
    return -1;
}

#ifndef __PYX_HAVE_RT_ImportModule
#define __PYX_HAVE_RT_ImportModule
static PyObject *__Pyx_ImportModule(const char *name) {
    PyObject *py_name = 0;
    PyObject *py_module = 0;
    py_name = __Pyx_PyIdentifier_FromString(name);
    if (!py_name)
        goto bad;
    py_module = PyImport_Import(py_name);
    Py_DECREF(py_name);
    return py_module;
bad:
    Py_XDECREF(py_name);
    return 0;
}
#endif

#ifndef __PYX_HAVE_RT_ImportType
#define __PYX_HAVE_RT_ImportType
static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,
    size_t size, int strict)
{
    PyObject *py_module = 0;
    PyObject *result = 0;
    PyObject *py_name = 0;
    char warning[200];
    Py_ssize_t basicsize;
#ifdef Py_LIMITED_API
    PyObject *py_basicsize;
#endif
    py_module = __Pyx_ImportModule(module_name);
    if (!py_module)
        goto bad;
    py_name = __Pyx_PyIdentifier_FromString(class_name);
    if (!py_name)
        goto bad;
    result = PyObject_GetAttr(py_module, py_name);
    Py_DECREF(py_name);
    py_name = 0;
    Py_DECREF(py_module);
    py_module = 0;
    if (!result)
        goto bad;
    if (!PyType_Check(result)) {
        PyErr_Format(PyExc_TypeError,
            "%s.%s is not a type object",
            module_name, class_name);
        goto bad;
    }
#ifndef Py_LIMITED_API
    basicsize = ((PyTypeObject *)result)->tp_basicsize;
#else
    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
    if (!py_basicsize)
        goto bad;
    basicsize = PyLong_AsSsize_t(py_basicsize);
    Py_DECREF(py_basicsize);
    py_basicsize = 0;
    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
        goto bad;
#endif
    if (!strict && (size_t)basicsize > size) {
        PyOS_snprintf(warning, sizeof(warning),
            "%s.%s size changed, may indicate binary incompatibility",
            module_name, class_name);
        #if PY_VERSION_HEX < 0x02050000
        if (PyErr_Warn(NULL, warning) < 0) goto bad;
        #else
        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
        #endif
    }
    else if ((size_t)basicsize != size) {
        PyErr_Format(PyExc_ValueError,
            "%s.%s has the wrong size, try recompiling",
            module_name, class_name);
        goto bad;
    }
    return (PyTypeObject *)result;
bad:
    Py_XDECREF(py_module);
    Py_XDECREF(result);
    return NULL;
}
#endif

static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
    PyObject *ob = PyCapsule_New(vtable, 0, 0);
#else
    PyObject *ob = PyCObject_FromVoidPtr(vtable, 0);
#endif
    if (!ob)
        goto bad;
    if (PyDict_SetItemString(dict, "__pyx_vtable__", ob) < 0)
        goto bad;
    Py_DECREF(ob);
    return 0;
bad:
    Py_XDECREF(ob);
    return -1;
}

#ifndef __PYX_HAVE_RT_ImportFunction
#define __PYX_HAVE_RT_ImportFunction
static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
    PyObject *d = 0;
    PyObject *cobj = 0;
    union {
        void (*fp)(void);
        void *p;
    } tmp;
    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
    if (!d)
        goto bad;
    cobj = PyDict_GetItemString(d, funcname);
    if (!cobj) {
        PyErr_Format(PyExc_ImportError,
            "%s does not export expected C function %s",
                PyModule_GetName(module), funcname);
        goto bad;
    }
#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
    if (!PyCapsule_IsValid(cobj, sig)) {
        PyErr_Format(PyExc_TypeError,
            "C function %s.%s has wrong signature (expected %s, got %s)",
             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
        goto bad;
    }
    tmp.p = PyCapsule_GetPointer(cobj, sig);
#else
    {const char *desc, *s1, *s2;
    desc = (const char *)PyCObject_GetDesc(cobj);
    if (!desc)
        goto bad;
    s1 = desc; s2 = sig;
    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
    if (*s1 != *s2) {
        PyErr_Format(PyExc_TypeError,
            "C function %s.%s has wrong signature (expected %s, got %s)",
             PyModule_GetName(module), funcname, sig, desc);
        goto bad;
    }
    tmp.p = PyCObject_AsVoidPtr(cobj);}
#endif
    *f = tmp.fp;
    if (!(*f))
        goto bad;
    Py_DECREF(d);
    return 0;
bad:
    Py_XDECREF(d);
    return -1;
}
#endif

static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
    int start = 0, mid = 0, end = count - 1;
    if (end >= 0 && code_line > entries[end].code_line) {
        return count;
    }
    while (start < end) {
        mid = (start + end) / 2;
        if (code_line < entries[mid].code_line) {
            end = mid;
        } else if (code_line > entries[mid].code_line) {
             start = mid + 1;
        } else {
            return mid;
        }
    }
    if (code_line <= entries[mid].code_line) {
        return mid;
    } else {
        return mid + 1;
    }
}
static PyCodeObject *__pyx_find_code_object(int code_line) {
    PyCodeObject* code_object;
    int pos;
    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
        return NULL;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
        return NULL;
    }
    code_object = __pyx_code_cache.entries[pos].code_object;
    Py_INCREF(code_object);
    return code_object;
}
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
    int pos, i;
    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
    if (unlikely(!code_line)) {
        return;
    }
    if (unlikely(!entries)) {
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
        if (likely(entries)) {
            __pyx_code_cache.entries = entries;
            __pyx_code_cache.max_count = 64;
            __pyx_code_cache.count = 1;
            entries[0].code_line = code_line;
            entries[0].code_object = code_object;
            Py_INCREF(code_object);
        }
        return;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
        PyCodeObject* tmp = entries[pos].code_object;
        entries[pos].code_object = code_object;
        Py_DECREF(tmp);
        return;
    }
    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
        int new_max = __pyx_code_cache.max_count + 64;
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
        if (unlikely(!entries)) {
            return;
        }
        __pyx_code_cache.entries = entries;
        __pyx_code_cache.max_count = new_max;
    }
    for (i=__pyx_code_cache.count; i>pos; i--) {
        entries[i] = entries[i-1];
    }
    entries[pos].code_line = code_line;
    entries[pos].code_object = code_object;
    __pyx_code_cache.count++;
    Py_INCREF(code_object);
}

#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
            const char *funcname, int c_line,
            int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyObject *py_srcfile = 0;
    PyObject *py_funcname = 0;
    #if PY_MAJOR_VERSION < 3
    py_srcfile = PyString_FromString(filename);
    #else
    py_srcfile = PyUnicode_FromString(filename);
    #endif
    if (!py_srcfile) goto bad;
    if (c_line) {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        #else
        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        #endif
    }
    else {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromString(funcname);
        #else
        py_funcname = PyUnicode_FromString(funcname);
        #endif
    }
    if (!py_funcname) goto bad;
    py_code = __Pyx_PyCode_New(
        0,            /*int argcount,*/
        0,            /*int kwonlyargcount,*/
        0,            /*int nlocals,*/
        0,            /*int stacksize,*/
        0,            /*int flags,*/
        __pyx_empty_bytes, /*PyObject *code,*/
        __pyx_empty_tuple, /*PyObject *consts,*/
        __pyx_empty_tuple, /*PyObject *names,*/
        __pyx_empty_tuple, /*PyObject *varnames,*/
        __pyx_empty_tuple, /*PyObject *freevars,*/
        __pyx_empty_tuple, /*PyObject *cellvars,*/
        py_srcfile,   /*PyObject *filename,*/
        py_funcname,  /*PyObject *name,*/
        py_line,      /*int firstlineno,*/
        __pyx_empty_bytes  /*PyObject *lnotab*/
    );
    Py_DECREF(py_srcfile);
    Py_DECREF(py_funcname);
    return py_code;
bad:
    Py_XDECREF(py_srcfile);
    Py_XDECREF(py_funcname);
    return NULL;
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyObject *py_globals = 0;
    PyFrameObject *py_frame = 0;
    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
    if (!py_code) {
        py_code = __Pyx_CreateCodeObjectForTraceback(
            funcname, c_line, py_line, filename);
        if (!py_code) goto bad;
        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
    }
    py_globals = PyModule_GetDict(__pyx_m);
    if (!py_globals) goto bad;
    py_frame = PyFrame_New(
        PyThreadState_GET(), /*PyThreadState *tstate,*/
        py_code,             /*PyCodeObject *code,*/
        py_globals,          /*PyObject *globals,*/
        0                    /*PyObject *locals*/
    );
    if (!py_frame) goto bad;
    py_frame->f_lineno = py_line;
    PyTraceBack_Here(py_frame);
bad:
    Py_XDECREF(py_code);
    Py_XDECREF(py_frame);
}

static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
    while (t->p) {
        #if PY_MAJOR_VERSION < 3
        if (t->is_unicode) {
            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
        } else if (t->intern) {
            *t->p = PyString_InternFromString(t->s);
        } else {
            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
        }
        #else  /* Python 3+ has unicode identifiers */
        if (t->is_unicode | t->is_str) {
            if (t->intern) {
                *t->p = PyUnicode_InternFromString(t->s);
            } else if (t->encoding) {
                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
            } else {
                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
            }
        } else {
            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
        }
        #endif
        if (!*t->p)
            return -1;
        ++t;
    }
    return 0;
}

static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
   int is_true = x == Py_True;
   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
   else return PyObject_IsTrue(x);
}
static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
  PyNumberMethods *m;
  const char *name = NULL;
  PyObject *res = NULL;
#if PY_VERSION_HEX < 0x03000000
  if (PyInt_Check(x) || PyLong_Check(x))
#else
  if (PyLong_Check(x))
#endif
    return Py_INCREF(x), x;
  m = Py_TYPE(x)->tp_as_number;
#if PY_VERSION_HEX < 0x03000000
  if (m && m->nb_int) {
    name = "int";
    res = PyNumber_Int(x);
  }
  else if (m && m->nb_long) {
    name = "long";
    res = PyNumber_Long(x);
  }
#else
  if (m && m->nb_int) {
    name = "int";
    res = PyNumber_Long(x);
  }
#endif
  if (res) {
#if PY_VERSION_HEX < 0x03000000
    if (!PyInt_Check(res) && !PyLong_Check(res)) {
#else
    if (!PyLong_Check(res)) {
#endif
      PyErr_Format(PyExc_TypeError,
                   "__%s__ returned non-%s (type %.200s)",
                   name, name, Py_TYPE(res)->tp_name);
      Py_DECREF(res);
      return NULL;
    }
  }
  else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_TypeError,
                    "an integer is required");
  }
  return res;
}
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
  Py_ssize_t ival;
  PyObject* x = PyNumber_Index(b);
  if (!x) return -1;
  ival = PyInt_AsSsize_t(x);
  Py_DECREF(x);
  return ival;
}
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
#if PY_VERSION_HEX < 0x02050000
   if (ival <= LONG_MAX)
       return PyInt_FromLong((long)ival);
   else {
       unsigned char *bytes = (unsigned char *) &ival;
       int one = 1; int little = (int)*(unsigned char*)&one;
       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
   }
#else
   return PyInt_FromSize_t(ival);
#endif
}
static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
       return (size_t)-1;
   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
       PyErr_SetString(PyExc_OverflowError,
                       "value too large to convert to size_t");
       return (size_t)-1;
   }
   return (size_t)val;
}


#endif /* Py_PYTHON_H */
