/* Generated by Pyrex 0.9.3 on Mon Jul 12 11:16:26 2004 */

#include "Python.h"
#include "structmember.h"
#ifndef PY_LONG_LONG
  #define PY_LONG_LONG LONG_LONG
#endif
#include "type-longlong.h"
#include "stdlib.h"
#include "time.h"
#include "stdio.h"
#include "string.h"
#include "numarray/numarray.h"
#include "numarray/libnumarray.h"
#include "hdf5.h"
#include "H5LT.h"
#include "H5ARRAY.h"
#include "H5VLARRAY.h"
#include "arraytypes.h"
#include "H5TB.h"
#include "H5TB-opt.h"
#include "calcoffset.h"
#include "getfieldfmt.h"
#include "utils.h"
#include "H5Zlzo.h"
#include "H5Zucl.h"


typedef struct {PyObject **p; char *s;} __Pyx_InternTabEntry; /*proto*/
typedef struct {PyObject **p; char *s; long n;} __Pyx_StringTabEntry; /*proto*/
static PyObject *__Pyx_UnpackItem(PyObject *, int); /*proto*/
static int __Pyx_EndUnpack(PyObject *, int); /*proto*/
static int __Pyx_PrintItem(PyObject *); /*proto*/
static int __Pyx_PrintNewline(void); /*proto*/
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
static void __Pyx_ReRaise(void); /*proto*/
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
static PyObject *__Pyx_GetExcValue(void); /*proto*/
static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, char *name); /*proto*/
static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
static int __Pyx_GetStarArgs(PyObject **args, PyObject **kwds, char *kwd_list[], int nargs, PyObject **args2, PyObject **kwds2); /*proto*/
static void __Pyx_WriteUnraisable(char *name); /*proto*/
static void __Pyx_AddTraceback(char *funcname); /*proto*/
static PyTypeObject *__Pyx_ImportType(char *module_name, char *class_name, long size);  /*proto*/
static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
static int __Pyx_GetVtable(PyObject *dict, void *vtabptr); /*proto*/
static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name, char *modname); /*proto*/
static int __Pyx_InternStrings(__Pyx_InternTabEntry *t); /*proto*/
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/

static PyObject *__pyx_m;
static PyObject *__pyx_b;
static int __pyx_lineno;
static char *__pyx_filename;
staticforward char **__pyx_f;

static char __pyx_mdoc[] = "Pyrex interface between PyTables and HDF5 library.\n\nSee the metaIsRecord for a deep explanation on how exactly this works.\n\nClasses (type extensions):\n\n    File\n    Group\n    Table\n    Array\n\nFunctions:\n\n    isHDF5(filename)\n    isPyTablesFile(filename)\n    getHDF5LibraryVersion()\n    getExtCVSVersion()\n    getPyTablesVersion()\n    \n\nMisc variables:\n\n    __version__\n\n";

/* Declarations from hdf5Extension */

enum  {
  __pyx_e_13hdf5Extension_CHARTYPE = 97,
};

enum  {
  __pyx_e_13hdf5Extension_MAX_FIELDS = 255,
};

enum  {
  __pyx_e_13hdf5Extension_MAX_CHARS = 256,
};

staticforward PyTypeObject __pyx_type_13hdf5Extension_File;

struct __pyx_obj_13hdf5Extension_File {
  PyObject_HEAD
  hid_t file_id;
  char (*name);
};

staticforward PyTypeObject __pyx_type_13hdf5Extension_AttributeSet;

struct __pyx_obj_13hdf5Extension_AttributeSet {
  PyObject_HEAD
  hid_t parent_id;
  char (*name);
  PyObject *node;
};

staticforward PyTypeObject __pyx_type_13hdf5Extension_Group;

struct __pyx_obj_13hdf5Extension_Group {
  PyObject_HEAD
  hid_t group_id;
  hid_t parent_id;
  char (*name);
};

staticforward PyTypeObject __pyx_type_13hdf5Extension_Table;

struct __pyx_obj_13hdf5Extension_Table {
  PyObject_HEAD
  size_t (field_offset[__pyx_e_13hdf5Extension_MAX_FIELDS]);
  size_t (field_sizes[__pyx_e_13hdf5Extension_MAX_FIELDS]);
  hsize_t nfields;
  void (*rbuf);
  void (*mmrbuf);
  hsize_t totalrecords;
  hid_t parent_id;
  hid_t loc_id;
  char (*name);
  char (*xtitle);
  char (*fmt);
  char (*(field_names[__pyx_e_13hdf5Extension_MAX_FIELDS]));
  int _open;
  char (*complib);
  hid_t dataset_id;
  hid_t space_id;
  hid_t mem_type_id;
  PyObject *mmfilew;
  PyObject *mmfiler;
};

staticforward PyTypeObject __pyx_type_13hdf5Extension_Row;

struct __pyx_obj_13hdf5Extension_Row {
  PyObject_HEAD
  PyObject *_table;
  PyObject *_fields;
  PyObject *_recarray;
  PyObject *_saveBufferedRows;
  PyObject *_indexes;
  int _row;
  int _nrowinbuf;
  int _nrow;
  int _unsavednrows;
  int _strides;
  int start;
  int stop;
  int step;
  int nextelement;
  int nrowsinbuf;
  int nrows;
  int nrowsread;
  int bufcounter;
  int recout;
  int counter;
  int startb;
  int stopb;
  int _all;
  int (*_scalar);
  int (*_enumtypes);
  int _r_initialized_buffer;
  int _w_initialized_buffer;
};

staticforward PyTypeObject __pyx_type_13hdf5Extension_Array;

struct __pyx_obj_13hdf5Extension_Array {
  PyObject_HEAD
  hid_t parent_id;
  char (*name);
  int rank;
  hsize_t (*dims);
  int enumtype;
  hid_t type_id;
};

staticforward PyTypeObject __pyx_type_13hdf5Extension_VLArray;

struct __pyx_obj_13hdf5Extension_VLArray {
  PyObject_HEAD
  hid_t parent_id;
  hid_t oid;
  char (*name);
  int rank;
  hsize_t (*dims);
  PyObject *type;
  int enumtype;
  hid_t type_id;
  hsize_t nrecords;
  int scalar;
};

staticforward PyTypeObject __pyx_type_13hdf5Extension_UnImplemented;

struct __pyx_obj_13hdf5Extension_UnImplemented {
  PyObject_HEAD
  hid_t parent_id;
  char (*name);
};

static PyTypeObject *__pyx_ptype_13hdf5Extension__numarray = 0;
static PyTypeObject *__pyx_ptype_13hdf5Extension_File = 0;
static PyTypeObject *__pyx_ptype_13hdf5Extension_AttributeSet = 0;
static PyTypeObject *__pyx_ptype_13hdf5Extension_Group = 0;
static PyTypeObject *__pyx_ptype_13hdf5Extension_Table = 0;
static PyTypeObject *__pyx_ptype_13hdf5Extension_Row = 0;
static PyTypeObject *__pyx_ptype_13hdf5Extension_Array = 0;
static PyTypeObject *__pyx_ptype_13hdf5Extension_VLArray = 0;
static PyTypeObject *__pyx_ptype_13hdf5Extension_UnImplemented = 0;
static int __pyx_v_13hdf5Extension_lzo_version;
static int __pyx_v_13hdf5Extension_ucl_version;
static PyObject *__pyx_k17;
static PyObject *__pyx_k18;
static PyObject *__pyx_k19;

/* Implementation of hdf5Extension */

static char (__pyx_k1[]) = "$Revision: 1.5 $";

static PyObject *__pyx_n___version__;
static PyObject *__pyx_n_sys;
static PyObject *__pyx_n_os;
static PyObject *__pyx_n_warnings;
static PyObject *__pyx_n_types;
static PyObject *__pyx_n_cPickle;
static PyObject *__pyx_n_numarray;
static PyObject *__pyx_n_records;
static PyObject *__pyx_n_strings;
static PyObject *__pyx_n_memmap;
static PyObject *__pyx_n_calcBufferSize;
static PyObject *__pyx_n_zlib;
static PyObject *__pyx_n_zlib_imported;
static PyObject *__pyx_n_CharType;
static PyObject *__pyx_n_toenum;
static PyObject *__pyx_n_toclass;
static PyObject *__pyx_n_getIndices;
static PyObject *__pyx_n_whichLibVersion;
static PyObject *__pyx_n_whichClass;
static PyObject *__pyx_n_isHDF5;
static PyObject *__pyx_n_isPyTablesFile;
static PyObject *__pyx_n_getHDF5Version;
static PyObject *__pyx_n_getExtVersion;
static PyObject *__pyx_n_getPyTablesVersion;
static PyObject *__pyx_n_read_f_attr;
static PyObject *__pyx_n__getFilters;
static PyObject *__pyx_n_utils;
static PyObject *__pyx_n_Bool;
static PyObject *__pyx_n_Int8;
static PyObject *__pyx_n_UInt8;
static PyObject *__pyx_n_Int16;
static PyObject *__pyx_n_UInt16;
static PyObject *__pyx_n_Int32;
static PyObject *__pyx_n_UInt32;
static PyObject *__pyx_n_Int64;
static PyObject *__pyx_n_UInt64;
static PyObject *__pyx_n_Float32;
static PyObject *__pyx_n_Float64;

static PyObject *__pyx_k1p;

static PyObject *__pyx_n_ValueError;

static PyObject *__pyx_k20p;

static char (__pyx_k20[]) = "Problems getting the indices on slice '%s'";

static PyObject *__pyx_f_13hdf5Extension_getIndices(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_getIndices(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_s = 0;
  int __pyx_v_length;
  int __pyx_v_start;
  int __pyx_v_stop;
  int __pyx_v_step;
  int __pyx_v_slicelength;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  static char *__pyx_argnames[] = {"s","length",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "Oi", __pyx_argnames, &__pyx_v_s, &__pyx_v_length)) return 0;
  Py_INCREF(__pyx_v_s);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":725 */
  __pyx_1 = (GetIndicesEx(__pyx_v_s,__pyx_v_length,(&__pyx_v_start),(&__pyx_v_stop),(&__pyx_v_step),(&__pyx_v_slicelength)) < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":726 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_ValueError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; goto __pyx_L1;}
    __pyx_3 = PyNumber_Remainder(__pyx_k20p, __pyx_v_s); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    __pyx_3 = 0;
    __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_3, 0, 0);
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 726; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":727 */
  __pyx_2 = PyInt_FromLong(__pyx_v_start); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; goto __pyx_L1;}
  __pyx_4 = PyInt_FromLong(__pyx_v_stop); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; goto __pyx_L1;}
  __pyx_3 = PyInt_FromLong(__pyx_v_step); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; goto __pyx_L1;}
  __pyx_5 = PyTuple_New(3); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_5, 0, __pyx_2);
  PyTuple_SET_ITEM(__pyx_5, 1, __pyx_4);
  PyTuple_SET_ITEM(__pyx_5, 2, __pyx_3);
  __pyx_2 = 0;
  __pyx_4 = 0;
  __pyx_3 = 0;
  __pyx_r = __pyx_5;
  __pyx_5 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.getIndices");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_s);
  return __pyx_r;
}

static PyObject *__pyx_n_ZLIB_VERSION;

static PyObject *__pyx_k25p;
static PyObject *__pyx_k26p;

static char (__pyx_k21[]) = "hdf5";
static char (__pyx_k22[]) = "zlib";
static char (__pyx_k23[]) = "lzo";
static char (__pyx_k24[]) = "ucl";
static char (__pyx_k25[]) = "Asking version for:";
static char (__pyx_k26[]) = "library, but the only supported library names are: 'hdf5', 'zlib', 'ucl', 'lzo' (note the lower case namimg).";

static PyObject *__pyx_f_13hdf5Extension_whichLibVersion(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_whichLibVersion[] = "Tell if an optional library is available or not";
static PyObject *__pyx_f_13hdf5Extension_whichLibVersion(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_name);
  PyObject *__pyx_v_binver;
  PyObject *__pyx_v_strver;
  PyObject *__pyx_v_lzo_version_string;
  PyObject *__pyx_v_lzo_version_date;
  PyObject *__pyx_v_ucl_version_string;
  PyObject *__pyx_v_ucl_version_date;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"name",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "s", __pyx_argnames, &__pyx_v_name)) return 0;
  __pyx_v_binver = Py_None; Py_INCREF(__pyx_v_binver);
  __pyx_v_strver = Py_None; Py_INCREF(__pyx_v_strver);
  __pyx_v_lzo_version_string = Py_None; Py_INCREF(__pyx_v_lzo_version_string);
  __pyx_v_lzo_version_date = Py_None; Py_INCREF(__pyx_v_lzo_version_date);
  __pyx_v_ucl_version_string = Py_None; Py_INCREF(__pyx_v_ucl_version_string);
  __pyx_v_ucl_version_date = Py_None; Py_INCREF(__pyx_v_ucl_version_date);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":732 */
  __pyx_1 = (strcmp(__pyx_v_name,__pyx_k21) == 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":733 */
    __pyx_2 = getHDF5VersionInfo(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; goto __pyx_L1;}
    __pyx_3 = __Pyx_UnpackItem(__pyx_2, 0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; goto __pyx_L1;}
    Py_DECREF(__pyx_v_binver);
    __pyx_v_binver = __pyx_3;
    __pyx_3 = 0;
    __pyx_4 = __Pyx_UnpackItem(__pyx_2, 1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; goto __pyx_L1;}
    Py_DECREF(__pyx_v_strver);
    __pyx_v_strver = __pyx_4;
    __pyx_4 = 0;
    if (__Pyx_EndUnpack(__pyx_2, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":734 */
    __pyx_3 = PyTuple_New(3); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; goto __pyx_L1;}
    Py_INCREF(__pyx_v_binver);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_binver);
    Py_INCREF(__pyx_v_strver);
    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_strver);
    Py_INCREF(Py_None);
    PyTuple_SET_ITEM(__pyx_3, 2, Py_None);
    __pyx_r = __pyx_3;
    __pyx_3 = 0;
    goto __pyx_L0;
    goto __pyx_L2;
  }
  __pyx_1 = (strcmp(__pyx_v_name,__pyx_k22) == 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":736 */
    __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_zlib_imported); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; goto __pyx_L1;}
    __pyx_1 = PyObject_IsTrue(__pyx_4); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":737 */
      __pyx_2 = PyInt_FromLong(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; goto __pyx_L1;}
      __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_zlib); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; goto __pyx_L1;}
      __pyx_4 = PyObject_GetAttr(__pyx_3, __pyx_n_ZLIB_VERSION); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      __pyx_3 = PyTuple_New(3); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
      PyTuple_SET_ITEM(__pyx_3, 1, __pyx_4);
      Py_INCREF(Py_None);
      PyTuple_SET_ITEM(__pyx_3, 2, Py_None);
      __pyx_2 = 0;
      __pyx_4 = 0;
      __pyx_r = __pyx_3;
      __pyx_3 = 0;
      goto __pyx_L0;
      goto __pyx_L3;
    }
    /*else*/ {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":739 */
      __pyx_2 = PyInt_FromLong(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; goto __pyx_L1;}
      __pyx_4 = PyInt_FromLong(0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; goto __pyx_L1;}
      __pyx_3 = PyTuple_New(3); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
      PyTuple_SET_ITEM(__pyx_3, 1, __pyx_4);
      Py_INCREF(Py_None);
      PyTuple_SET_ITEM(__pyx_3, 2, Py_None);
      __pyx_2 = 0;
      __pyx_4 = 0;
      __pyx_r = __pyx_3;
      __pyx_3 = 0;
      goto __pyx_L0;
    }
    __pyx_L3:;
    goto __pyx_L2;
  }
  __pyx_1 = (strcmp(__pyx_v_name,__pyx_k23) == 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":744 */
    __pyx_1 = __pyx_v_13hdf5Extension_lzo_version;
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":745 */
      __pyx_2 = getLZOVersionInfo(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; goto __pyx_L1;}
      __pyx_4 = __Pyx_UnpackItem(__pyx_2, 0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; goto __pyx_L1;}
      Py_DECREF(__pyx_v_lzo_version_string);
      __pyx_v_lzo_version_string = __pyx_4;
      __pyx_4 = 0;
      __pyx_3 = __Pyx_UnpackItem(__pyx_2, 1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; goto __pyx_L1;}
      Py_DECREF(__pyx_v_lzo_version_date);
      __pyx_v_lzo_version_date = __pyx_3;
      __pyx_3 = 0;
      if (__Pyx_EndUnpack(__pyx_2, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; goto __pyx_L1;}
      Py_DECREF(__pyx_2); __pyx_2 = 0;

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":746 */
      __pyx_4 = PyInt_FromLong(__pyx_v_13hdf5Extension_lzo_version); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; goto __pyx_L1;}
      __pyx_3 = PyTuple_New(3); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
      Py_INCREF(__pyx_v_lzo_version_string);
      PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_lzo_version_string);
      Py_INCREF(__pyx_v_lzo_version_date);
      PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_lzo_version_date);
      __pyx_4 = 0;
      __pyx_r = __pyx_3;
      __pyx_3 = 0;
      goto __pyx_L0;
      goto __pyx_L4;
    }
    /*else*/ {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":748 */
      __pyx_2 = PyInt_FromLong(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; goto __pyx_L1;}
      __pyx_4 = PyInt_FromLong(0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; goto __pyx_L1;}
      __pyx_3 = PyTuple_New(3); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
      PyTuple_SET_ITEM(__pyx_3, 1, __pyx_4);
      Py_INCREF(Py_None);
      PyTuple_SET_ITEM(__pyx_3, 2, Py_None);
      __pyx_2 = 0;
      __pyx_4 = 0;
      __pyx_r = __pyx_3;
      __pyx_3 = 0;
      goto __pyx_L0;
    }
    __pyx_L4:;
    goto __pyx_L2;
  }
  __pyx_1 = (strcmp(__pyx_v_name,__pyx_k24) == 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":750 */
    __pyx_1 = __pyx_v_13hdf5Extension_ucl_version;
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":751 */
      __pyx_2 = getUCLVersionInfo(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; goto __pyx_L1;}
      __pyx_4 = __Pyx_UnpackItem(__pyx_2, 0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; goto __pyx_L1;}
      Py_DECREF(__pyx_v_ucl_version_string);
      __pyx_v_ucl_version_string = __pyx_4;
      __pyx_4 = 0;
      __pyx_3 = __Pyx_UnpackItem(__pyx_2, 1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; goto __pyx_L1;}
      Py_DECREF(__pyx_v_ucl_version_date);
      __pyx_v_ucl_version_date = __pyx_3;
      __pyx_3 = 0;
      if (__Pyx_EndUnpack(__pyx_2, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; goto __pyx_L1;}
      Py_DECREF(__pyx_2); __pyx_2 = 0;

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":752 */
      __pyx_4 = PyInt_FromLong(__pyx_v_13hdf5Extension_ucl_version); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; goto __pyx_L1;}
      __pyx_3 = PyTuple_New(3); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
      Py_INCREF(__pyx_v_ucl_version_string);
      PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_ucl_version_string);
      Py_INCREF(__pyx_v_ucl_version_date);
      PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_ucl_version_date);
      __pyx_4 = 0;
      __pyx_r = __pyx_3;
      __pyx_3 = 0;
      goto __pyx_L0;
      goto __pyx_L5;
    }
    /*else*/ {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":754 */
      __pyx_2 = PyInt_FromLong(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; goto __pyx_L1;}
      __pyx_4 = PyInt_FromLong(0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; goto __pyx_L1;}
      __pyx_3 = PyTuple_New(3); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
      PyTuple_SET_ITEM(__pyx_3, 1, __pyx_4);
      Py_INCREF(Py_None);
      PyTuple_SET_ITEM(__pyx_3, 2, Py_None);
      __pyx_2 = 0;
      __pyx_4 = 0;
      __pyx_r = __pyx_3;
      __pyx_3 = 0;
      goto __pyx_L0;
    }
    __pyx_L5:;
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":756 */
    if (__Pyx_PrintItem(__pyx_k25p) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; goto __pyx_L1;}
    __pyx_2 = PyString_FromString(__pyx_v_name); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; goto __pyx_L1;}
    if (__Pyx_PrintItem(__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    if (__Pyx_PrintItem(__pyx_k26p) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; goto __pyx_L1;}
    if (__Pyx_PrintNewline() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 756; goto __pyx_L1;}

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":757 */
    __pyx_4 = PyInt_FromLong(0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(3); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
    Py_INCREF(Py_None);
    PyTuple_SET_ITEM(__pyx_3, 1, Py_None);
    Py_INCREF(Py_None);
    PyTuple_SET_ITEM(__pyx_3, 2, Py_None);
    __pyx_4 = 0;
    __pyx_r = __pyx_3;
    __pyx_3 = 0;
    goto __pyx_L0;
  }
  __pyx_L2:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.whichLibVersion");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_binver);
  Py_DECREF(__pyx_v_strver);
  Py_DECREF(__pyx_v_lzo_version_string);
  Py_DECREF(__pyx_v_lzo_version_date);
  Py_DECREF(__pyx_v_ucl_version_string);
  Py_DECREF(__pyx_v_ucl_version_date);
  return __pyx_r;
}

static PyObject *__pyx_n_warn;
static PyObject *__pyx_n_UserWarning;
static PyObject *__pyx_n_EARRAY;
static PyObject *__pyx_n_ARRAY;
static PyObject *__pyx_n_VLARRAY;
static PyObject *__pyx_n_TABLE;
static PyObject *__pyx_n_UNSUPPORTED;

static PyObject *__pyx_k27p;

static char (__pyx_k27[]) = "Dataset object \'%s\' contains unsupported H5T_ARRAY datatypes.";

static PyObject *__pyx_f_13hdf5Extension_whichClass(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_whichClass(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_loc_id;
  char (*__pyx_v_name);
  enum H5T_class_t __pyx_v_class_id;
  H5D_layout_t __pyx_v_layout;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  static char *__pyx_argnames[] = {"loc_id","name",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "is", __pyx_argnames, &__pyx_v_loc_id, &__pyx_v_name)) return 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":763 */
  __pyx_v_class_id = getHDF5ClassID(__pyx_v_loc_id,__pyx_v_name,(&__pyx_v_layout));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":765 */
  __pyx_1 = (__pyx_v_class_id == H5T_ARRAY);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":766 */
    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_warnings); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; goto __pyx_L1;}
    __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_warn); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_2 = PyString_FromString(__pyx_v_name); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; goto __pyx_L1;}
    __pyx_4 = PyNumber_Remainder(__pyx_k27p, __pyx_2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_UserWarning); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 768; goto __pyx_L1;}
    __pyx_5 = PyTuple_New(2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_5, 0, __pyx_4);
    PyTuple_SET_ITEM(__pyx_5, 1, __pyx_2);
    __pyx_4 = 0;
    __pyx_2 = 0;
    __pyx_4 = PyObject_CallObject(__pyx_3, __pyx_5); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":770 */
  __pyx_1 = (__pyx_v_class_id == H5T_INTEGER);
  if (!__pyx_1) {
    __pyx_1 = (__pyx_v_class_id == H5T_FLOAT);
    if (!__pyx_1) {
      __pyx_1 = (__pyx_v_class_id == H5T_BITFIELD);
      if (!__pyx_1) {
        __pyx_1 = (__pyx_v_class_id == H5T_STRING);
      }
    }
  }
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":774 */
    __pyx_1 = (__pyx_v_layout == H5D_CHUNKED);
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":775 */
      Py_INCREF(__pyx_n_EARRAY);
      __pyx_r = __pyx_n_EARRAY;
      goto __pyx_L0;
      goto __pyx_L4;
    }
    /*else*/ {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":777 */
      Py_INCREF(__pyx_n_ARRAY);
      __pyx_r = __pyx_n_ARRAY;
      goto __pyx_L0;
    }
    __pyx_L4:;
    goto __pyx_L3;
  }
  __pyx_1 = (__pyx_v_class_id == H5T_VLEN);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":779 */
    Py_INCREF(__pyx_n_VLARRAY);
    __pyx_r = __pyx_n_VLARRAY;
    goto __pyx_L0;
    goto __pyx_L3;
  }
  __pyx_1 = (__pyx_v_class_id == H5T_COMPOUND);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":781 */
    Py_INCREF(__pyx_n_TABLE);
    __pyx_r = __pyx_n_TABLE;
    goto __pyx_L0;
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":784 */
  Py_INCREF(__pyx_n_UNSUPPORTED);
  __pyx_r = __pyx_n_UNSUPPORTED;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.whichClass");
  __pyx_r = 0;
  __pyx_L0:;
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_isHDF5(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_isHDF5[] = "Determines whether a file is in the HDF5 format.\n\n  When successful, returns a positive value, for TRUE, or 0 (zero),\n  for FALSE. Otherwise returns a negative value.\n\n  To this function to work, it needs a closed file.\n\n  ";
static PyObject *__pyx_f_13hdf5Extension_isHDF5(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_filename);
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  static char *__pyx_argnames[] = {"filename",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "s", __pyx_argnames, &__pyx_v_filename)) return 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":796 */
  __pyx_1 = PyInt_FromLong(H5Fis_hdf5(__pyx_v_filename)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; goto __pyx_L1;}
  __pyx_r = __pyx_1;
  __pyx_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  __Pyx_AddTraceback("hdf5Extension.isHDF5");
  __pyx_r = 0;
  __pyx_L0:;
  return __pyx_r;
}

static PyObject *__pyx_n_unknown;
static PyObject *__pyx_n_path;
static PyObject *__pyx_n_isfile;
static PyObject *__pyx_n_PYTABLES_FORMAT_VERSION;


static PyObject *__pyx_f_13hdf5Extension_isPyTablesFile(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_isPyTablesFile[] = "Determines whether a file is in the PyTables format.\n\n  When successful, returns the format version string, for TRUE, or 0\n  (zero), for FALSE. Otherwise returns a negative value.\n\n  To this function to work, it needs a closed file.\n\n  ";
static PyObject *__pyx_f_13hdf5Extension_isPyTablesFile(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_filename);
  hid_t __pyx_v_file_id;
  PyObject *__pyx_v_isptf;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  int __pyx_5;
  static char *__pyx_argnames[] = {"filename",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "s", __pyx_argnames, &__pyx_v_filename)) return 0;
  __pyx_v_isptf = Py_None; Py_INCREF(__pyx_v_isptf);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":811 */
  Py_INCREF(__pyx_n_unknown);
  Py_DECREF(__pyx_v_isptf);
  __pyx_v_isptf = __pyx_n_unknown;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":812 */
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_os); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_path); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyObject_GetAttr(__pyx_3, __pyx_n_isfile); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_3 = PyString_FromString(__pyx_v_filename); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; goto __pyx_L1;}
  __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
  __pyx_3 = 0;
  __pyx_1 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_5 = PyObject_IsTrue(__pyx_1); if (__pyx_5 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; goto __pyx_L1;}
  if (__pyx_5) {
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_1 = PyInt_FromLong((H5Fis_hdf5(__pyx_v_filename) > 0)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; goto __pyx_L1;}
  }
  __pyx_5 = PyObject_IsTrue(__pyx_1); if (__pyx_5 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  if (__pyx_5) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":815 */
    __pyx_v_file_id = H5Fopen(__pyx_v_filename,H5F_ACC_RDONLY,H5P_DEFAULT);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":816 */
    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_read_f_attr); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; goto __pyx_L1;}
    __pyx_2 = PyInt_FromLong(__pyx_v_file_id); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
    Py_INCREF(__pyx_n_PYTABLES_FORMAT_VERSION);
    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_n_PYTABLES_FORMAT_VERSION);
    __pyx_2 = 0;
    __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_v_isptf);
    __pyx_v_isptf = __pyx_1;
    __pyx_1 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":818 */
    H5Fclose(__pyx_v_file_id);
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":820 */
  if (PyObject_Cmp(__pyx_v_isptf, __pyx_n_unknown, &__pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; goto __pyx_L1;}
  __pyx_5 = __pyx_5 == 0;
  if (__pyx_5) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":821 */
    Py_INCREF(Py_None);
    __pyx_r = Py_None;
    goto __pyx_L0;
    goto __pyx_L3;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":823 */
    Py_INCREF(__pyx_v_isptf);
    __pyx_r = __pyx_v_isptf;
    goto __pyx_L0;
  }
  __pyx_L3:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.isPyTablesFile");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_isptf);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_getHDF5Version(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_getHDF5Version[] = "Get the underlying HDF5 library version";
static PyObject *__pyx_f_13hdf5Extension_getHDF5Version(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":828 */
  __pyx_1 = getHDF5VersionInfo(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; goto __pyx_L1;}
  __pyx_2 = PyInt_FromLong(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; goto __pyx_L1;}
  __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_r = __pyx_3;
  __pyx_3 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  __Pyx_AddTraceback("hdf5Extension.getHDF5Version");
  __pyx_r = 0;
  __pyx_L0:;
  return __pyx_r;
}

static PyObject *__pyx_k36p;

static char (__pyx_k36[]) = "$Id: hdf5Extension.c,v 1.5 2004/07/12 09:17:37 falted Exp $ ";

static PyObject *__pyx_f_13hdf5Extension_getExtVersion(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_getExtVersion[] = "Return this extension CVS version";
static PyObject *__pyx_f_13hdf5Extension_getExtVersion(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_r;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":840 */
  Py_INCREF(__pyx_k36p);
  __pyx_r = __pyx_k36p;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  __Pyx_AddTraceback("hdf5Extension.getExtVersion");
  __pyx_r = 0;
  __pyx_L0:;
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_getPyTablesVersion(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_getPyTablesVersion[] = "Return this extension version.";
static PyObject *__pyx_f_13hdf5Extension_getPyTablesVersion(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":846 */
  __pyx_1 = _getTablesVersion(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; goto __pyx_L1;}
  __pyx_r = __pyx_1;
  __pyx_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  __Pyx_AddTraceback("hdf5Extension.getPyTablesVersion");
  __pyx_r = 0;
  __pyx_L0:;
  return __pyx_r;
}

static char (__pyx_k37[]) = "/";
static char (__pyx_k38[]) = "unknown";
static char (__pyx_k39[]) = "unknown";

static PyObject *__pyx_f_13hdf5Extension_read_f_attr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_read_f_attr[] = "Return the PyTables file attributes.\n\n  When successful, returns the format version string, for TRUE, or 0\n  (zero), for FALSE. Otherwise returns a negative value.\n\n  To this function to work, it needs a closed file.\n\n  ";
static PyObject *__pyx_f_13hdf5Extension_read_f_attr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_file_id;
  char (*__pyx_v_attr_name);
  hid_t __pyx_v_root_id;
  herr_t __pyx_v_ret;
  char (__pyx_v_attr_value[256]);
  PyObject *__pyx_r;
  herr_t __pyx_1;
  int __pyx_2;
  PyObject *__pyx_3 = 0;
  static char *__pyx_argnames[] = {"file_id","attr_name",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "is", __pyx_argnames, &__pyx_v_file_id, &__pyx_v_attr_name)) return 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":864 */
  __pyx_v_root_id = H5Gopen(__pyx_v_file_id,__pyx_k37);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":865 */
  strcpy(__pyx_v_attr_value,__pyx_k38);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":866 */
  __pyx_1 = H5LT_find_attribute(__pyx_v_root_id,__pyx_v_attr_name);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":868 */
    __pyx_v_ret = H5LT_get_attribute_disk(__pyx_v_root_id,__pyx_v_attr_name,__pyx_v_attr_value);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":869 */
    __pyx_2 = (__pyx_v_ret < 0);
    if (__pyx_2) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":870 */
      strcpy(__pyx_v_attr_value,__pyx_k39);
      goto __pyx_L3;
    }
    __pyx_L3:;
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":873 */
  H5Gclose(__pyx_v_root_id);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":875 */
  __pyx_3 = PyString_FromString(__pyx_v_attr_value); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; goto __pyx_L1;}
  __pyx_r = __pyx_3;
  __pyx_3 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_3);
  __Pyx_AddTraceback("hdf5Extension.read_f_attr");
  __pyx_r = 0;
  __pyx_L0:;
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension__getFilters(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension__getFilters[] = "Get a dictionary with the filter names and cd_values";
static PyObject *__pyx_f_13hdf5Extension__getFilters(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_parent_id = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_r;
  hid_t __pyx_1;
  char (*__pyx_2);
  PyObject *__pyx_3 = 0;
  static char *__pyx_argnames[] = {"parent_id","name",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_parent_id, &__pyx_v_name)) return 0;
  Py_INCREF(__pyx_v_parent_id);
  Py_INCREF(__pyx_v_name);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":880 */
  __pyx_1 = PyInt_AsLong(__pyx_v_parent_id); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 880; goto __pyx_L1;}
  __pyx_2 = PyString_AsString(__pyx_v_name); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 880; goto __pyx_L1;}
  __pyx_3 = get_filter_names(__pyx_1,__pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 880; goto __pyx_L1;}
  __pyx_r = __pyx_3;
  __pyx_3 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_3);
  __Pyx_AddTraceback("hdf5Extension._getFilters");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_parent_id);
  Py_DECREF(__pyx_v_name);
  return __pyx_r;
}

static PyObject *__pyx_n_mode;
static PyObject *__pyx_n_RuntimeError;

static PyObject *__pyx_k44p;
static PyObject *__pyx_k46p;
static PyObject *__pyx_k48p;

static char (__pyx_k40[]) = "r";
static char (__pyx_k41[]) = "r+";
static char (__pyx_k42[]) = "r";
static char (__pyx_k43[]) = "r+";
static char (__pyx_k44[]) = "File \'%s\' doesn't exist or is not a HDF5 file.";
static char (__pyx_k45[]) = "a";
static char (__pyx_k46[]) = "File \'%s\' exist but is not a HDF5 file.";
static char (__pyx_k47[]) = "w";
static char (__pyx_k48[]) = "Invalid mode \'%s\' for opening a file.";

static int __pyx_f_13hdf5Extension_4File___new__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_13hdf5Extension_4File___new__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_name);
  char (*__pyx_v_mode);
  char (*__pyx_v_title);
  int __pyx_v_new;
  PyObject *__pyx_v_trTable = 0;
  char (*__pyx_v_root);
  int __pyx_v_isPTFile;
  PyObject *__pyx_v_filters = 0;
  int __pyx_r;
  PyObject *__pyx_1 = 0;
  int __pyx_2;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  static char *__pyx_argnames[] = {"name","mode","title","new","trTable","root","isPTFile","filters",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "sssiOsiO", __pyx_argnames, &__pyx_v_name, &__pyx_v_mode, &__pyx_v_title, &__pyx_v_new, &__pyx_v_trTable, &__pyx_v_root, &__pyx_v_isPTFile, &__pyx_v_filters)) return -1;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_trTable);
  Py_INCREF(__pyx_v_filters);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":892 */
  ((struct __pyx_obj_13hdf5Extension_File *)__pyx_v_self)->name = __pyx_v_name;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":893 */
  __pyx_1 = PyString_FromString(__pyx_v_mode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_mode, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":894 */
  __pyx_2 = (strcmp(__pyx_v_mode,__pyx_k40) == 0);
  if (!__pyx_2) {
    __pyx_2 = (strcmp(__pyx_v_mode,__pyx_k41) == 0);
  }
  if (__pyx_2) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":895 */
    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_os); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; goto __pyx_L1;}
    __pyx_4 = PyObject_GetAttr(__pyx_3, __pyx_n_path); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_3 = PyObject_GetAttr(__pyx_4, __pyx_n_isfile); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_4 = PyString_FromString(__pyx_v_name); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; goto __pyx_L1;}
    __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_5, 0, __pyx_4);
    __pyx_4 = 0;
    __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_5); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_2 = PyObject_IsTrue(__pyx_1); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; goto __pyx_L1;}
    if (__pyx_2) {
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      __pyx_1 = PyInt_FromLong((H5Fis_hdf5(__pyx_v_name) > 0)); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; goto __pyx_L1;}
    }
    __pyx_2 = PyObject_IsTrue(__pyx_1); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    if (__pyx_2) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":896 */
      __pyx_2 = (strcmp(__pyx_v_mode,__pyx_k42) == 0);
      if (__pyx_2) {

        /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":897 */
        ((struct __pyx_obj_13hdf5Extension_File *)__pyx_v_self)->file_id = H5Fopen(__pyx_v_name,H5F_ACC_RDONLY,H5P_DEFAULT);
        goto __pyx_L4;
      }
      __pyx_2 = (strcmp(__pyx_v_mode,__pyx_k43) == 0);
      if (__pyx_2) {

        /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":899 */
        ((struct __pyx_obj_13hdf5Extension_File *)__pyx_v_self)->file_id = H5Fopen(__pyx_v_name,H5F_ACC_RDWR,H5P_DEFAULT);
        goto __pyx_L4;
      }
      __pyx_L4:;
      goto __pyx_L3;
    }
    /*else*/ {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":901 */
      __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; goto __pyx_L1;}
      __pyx_3 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_File *)__pyx_v_self)->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; goto __pyx_L1;}
      __pyx_5 = PyNumber_Remainder(__pyx_k44p, __pyx_3); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 902; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_1, 0, __pyx_5);
      __pyx_5 = 0;
      __pyx_3 = PyObject_CallObject(__pyx_4, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      __Pyx_Raise(__pyx_3, 0, 0);
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; goto __pyx_L1;}
    }
    __pyx_L3:;
    goto __pyx_L2;
  }
  __pyx_2 = (strcmp(__pyx_v_mode,__pyx_k45) == 0);
  if (__pyx_2) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":904 */
    __pyx_5 = __Pyx_GetName(__pyx_m, __pyx_n_os); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; goto __pyx_L1;}
    __pyx_4 = PyObject_GetAttr(__pyx_5, __pyx_n_path); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_1 = PyObject_GetAttr(__pyx_4, __pyx_n_isfile); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_3 = PyString_FromString(__pyx_v_name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; goto __pyx_L1;}
    __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_5, 0, __pyx_3);
    __pyx_3 = 0;
    __pyx_4 = PyObject_CallObject(__pyx_1, __pyx_5); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_2 = PyObject_IsTrue(__pyx_4); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    if (__pyx_2) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":905 */
      __pyx_2 = (H5Fis_hdf5(__pyx_v_name) > 0);
      if (__pyx_2) {

        /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":906 */
        ((struct __pyx_obj_13hdf5Extension_File *)__pyx_v_self)->file_id = H5Fopen(__pyx_v_name,H5F_ACC_RDWR,H5P_DEFAULT);
        goto __pyx_L6;
      }
      /*else*/ {

        /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":908 */
        __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; goto __pyx_L1;}
        __pyx_1 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_File *)__pyx_v_self)->name); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; goto __pyx_L1;}
        __pyx_5 = PyNumber_Remainder(__pyx_k46p, __pyx_1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; goto __pyx_L1;}
        Py_DECREF(__pyx_1); __pyx_1 = 0;
        __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; goto __pyx_L1;}
        PyTuple_SET_ITEM(__pyx_4, 0, __pyx_5);
        __pyx_5 = 0;
        __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; goto __pyx_L1;}
        Py_DECREF(__pyx_3); __pyx_3 = 0;
        Py_DECREF(__pyx_4); __pyx_4 = 0;
        __Pyx_Raise(__pyx_1, 0, 0);
        Py_DECREF(__pyx_1); __pyx_1 = 0;
        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; goto __pyx_L1;}
      }
      __pyx_L6:;
      goto __pyx_L5;
    }
    /*else*/ {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":911 */
      ((struct __pyx_obj_13hdf5Extension_File *)__pyx_v_self)->file_id = H5Fcreate(__pyx_v_name,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT);
    }
    __pyx_L5:;
    goto __pyx_L2;
  }
  __pyx_2 = (strcmp(__pyx_v_mode,__pyx_k47) == 0);
  if (__pyx_2) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":914 */
    ((struct __pyx_obj_13hdf5Extension_File *)__pyx_v_self)->file_id = H5Fcreate(__pyx_v_name,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT);
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":917 */
    __pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; goto __pyx_L1;}
    __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n_mode); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; goto __pyx_L1;}
    __pyx_4 = PyNumber_Remainder(__pyx_k48p, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_4);
    __pyx_4 = 0;
    __pyx_3 = PyObject_CallObject(__pyx_5, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __Pyx_Raise(__pyx_3, 0, 0);
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; goto __pyx_L1;}
  }
  __pyx_L2:;

  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.File.__new__");
  __pyx_r = -1;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_trTable);
  Py_DECREF(__pyx_v_filters);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_4File__getFileId(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_4File__getFileId(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":922 */
  __pyx_1 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_File *)__pyx_v_self)->file_id); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; goto __pyx_L1;}
  __pyx_r = __pyx_1;
  __pyx_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  __Pyx_AddTraceback("hdf5Extension.File._getFileId");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_4File__closeFile(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_4File__closeFile(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_r;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":926 */
  H5Fclose(((struct __pyx_obj_13hdf5Extension_File *)__pyx_v_self)->file_id);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":927 */
  ((struct __pyx_obj_13hdf5Extension_File *)__pyx_v_self)->file_id = 0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  __Pyx_AddTraceback("hdf5Extension.File._closeFile");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k49p;

static char (__pyx_k49[]) = "Problems closing the file %s";

static void __pyx_f_13hdf5Extension_4File___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_f_13hdf5Extension_4File___dealloc__(PyObject *__pyx_v_self) {
  int __pyx_v_ret;
  hid_t __pyx_1;
  int __pyx_2;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":934 */
  __pyx_1 = ((struct __pyx_obj_13hdf5Extension_File *)__pyx_v_self)->file_id;
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":936 */
    __pyx_v_ret = H5Fclose(((struct __pyx_obj_13hdf5Extension_File *)__pyx_v_self)->file_id);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":937 */
    __pyx_2 = (__pyx_v_ret < 0);
    if (__pyx_2) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":938 */
      __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; goto __pyx_L1;}
      __pyx_4 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_File *)__pyx_v_self)->name); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; goto __pyx_L1;}
      __pyx_5 = PyNumber_Remainder(__pyx_k49p, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_4, 0, __pyx_5);
      __pyx_5 = 0;
      __pyx_5 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      __Pyx_Raise(__pyx_5, 0, 0);
      Py_DECREF(__pyx_5); __pyx_5 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 938; goto __pyx_L1;}
      goto __pyx_L3;
    }
    __pyx_L3:;
    goto __pyx_L2;
  }
  __pyx_L2:;

  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.File.__dealloc__");
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
}

static PyObject *__pyx_n__v_hdf5name;
static PyObject *__pyx_n__v_parent;
static PyObject *__pyx_n__v_objectID;

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_new(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_new(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_node = 0;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  hid_t __pyx_3;
  static char *__pyx_argnames[] = {"node",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_node)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_node);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":947 */
  Py_INCREF(__pyx_v_node);
  Py_DECREF(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
  ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node = __pyx_v_node;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":949 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_node, __pyx_n__v_hdf5name); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; goto __pyx_L1;}
  ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name = PyString_AsString(__pyx_1);
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":951 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_node, __pyx_n__v_parent); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n__v_objectID); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_3 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id = __pyx_3;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_new");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_node);
  return __pyx_r;
}

static PyObject *__pyx_n_isinstance;
static PyObject *__pyx_n_objectID;

static PyObject *__pyx_k50p;
static PyObject *__pyx_k51p;

static char (__pyx_k50[]) = "Cannot open the dataset '%s'";
static char (__pyx_k51[]) = "Cannot close the dataset '%s'";

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_listAttr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_listAttr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_attrlist;
  hid_t __pyx_v_loc_id;
  PyObject *__pyx_v_ret;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  int __pyx_4;
  hid_t __pyx_5;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);
  __pyx_v_attrlist = Py_None; Py_INCREF(__pyx_v_attrlist);
  __pyx_v_ret = Py_None; Py_INCREF(__pyx_v_ret);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":957 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_isinstance); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; goto __pyx_L1;}
  __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; goto __pyx_L1;}
  Py_INCREF(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
  PyTuple_SET_ITEM(__pyx_2, 0, ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
  Py_INCREF(((PyObject*)__pyx_ptype_13hdf5Extension_Group));
  PyTuple_SET_ITEM(__pyx_2, 1, ((PyObject*)__pyx_ptype_13hdf5Extension_Group));
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_4 = PyObject_IsTrue(__pyx_3); if (__pyx_4 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":959 */
    __pyx_1 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node, __pyx_n__v_objectID); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; goto __pyx_L1;}
    __pyx_5 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_2 = Aiterate(__pyx_5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; goto __pyx_L1;}
    Py_DECREF(__pyx_v_attrlist);
    __pyx_v_attrlist = __pyx_2;
    __pyx_2 = 0;
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":962 */
    __pyx_v_loc_id = H5Dopen(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":966 */
    __pyx_3 = PyInt_FromLong(__pyx_v_loc_id); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; goto __pyx_L1;}
    if (PyObject_SetAttr(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node, __pyx_n_objectID, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":967 */
    __pyx_4 = (__pyx_v_loc_id < 0);
    if (__pyx_4) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":968 */
      __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; goto __pyx_L1;}
      __pyx_2 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; goto __pyx_L1;}
      __pyx_3 = PyNumber_Remainder(__pyx_k50p, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; goto __pyx_L1;}
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
      __pyx_3 = 0;
      __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      __Pyx_Raise(__pyx_3, 0, 0);
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; goto __pyx_L1;}
      goto __pyx_L3;
    }
    __pyx_L3:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":969 */
    __pyx_1 = Aiterate(__pyx_v_loc_id); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; goto __pyx_L1;}
    Py_DECREF(__pyx_v_attrlist);
    __pyx_v_attrlist = __pyx_1;
    __pyx_1 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":971 */
    __pyx_2 = PyInt_FromLong(H5Dclose(__pyx_v_loc_id)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; goto __pyx_L1;}
    Py_DECREF(__pyx_v_ret);
    __pyx_v_ret = __pyx_2;
    __pyx_2 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":972 */
    __pyx_3 = PyInt_FromLong(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; goto __pyx_L1;}
    if (PyObject_Cmp(__pyx_v_ret, __pyx_3, &__pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; goto __pyx_L1;}
    __pyx_4 = __pyx_4 < 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    if (__pyx_4) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":973 */
      __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; goto __pyx_L1;}
      __pyx_2 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; goto __pyx_L1;}
      __pyx_3 = PyNumber_Remainder(__pyx_k51p, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; goto __pyx_L1;}
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
      __pyx_3 = 0;
      __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      __Pyx_Raise(__pyx_3, 0, 0);
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; goto __pyx_L1;}
      goto __pyx_L4;
    }
    __pyx_L4:;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":975 */
  Py_INCREF(__pyx_v_attrlist);
  __pyx_r = __pyx_v_attrlist;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_listAttr");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_attrlist);
  Py_DECREF(__pyx_v_ret);
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_n_StringType;
static PyObject *__pyx_n_IntType;
static PyObject *__pyx_n_FloatType;
static PyObject *__pyx_n__g_setAttrDouble;
static PyObject *__pyx_n_dumps;
static PyObject *__pyx_n__g_setAttrStr;

static PyObject *__pyx_k52p;

static char (__pyx_k52[]) = "Can't set attribute '%s' in node:\n %s.";

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_setAttr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_setAttr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_name);
  PyObject *__pyx_v_value = 0;
  int __pyx_v_ret;
  int __pyx_v_valint;
  double __pyx_v_valdouble;
  PyObject *__pyx_v_pickledvalue;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  int __pyx_4;
  char (*__pyx_5);
  static char *__pyx_argnames[] = {"name","value",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "sO", __pyx_argnames, &__pyx_v_name, &__pyx_v_value)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_value);
  __pyx_v_pickledvalue = Py_None; Py_INCREF(__pyx_v_pickledvalue);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":982 */
  __pyx_v_ret = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":984 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_isinstance); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; goto __pyx_L1;}
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_types); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_StringType); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; goto __pyx_L1;}
  Py_INCREF(__pyx_v_value);
  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_value);
  PyTuple_SET_ITEM(__pyx_2, 1, __pyx_3);
  __pyx_3 = 0;
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_4 = PyObject_IsTrue(__pyx_3); if (__pyx_4 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":986 */
    __pyx_5 = PyString_AsString(__pyx_v_value); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; goto __pyx_L1;}
    __pyx_v_ret = H5LTset_attribute_string(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name,__pyx_v_name,__pyx_5);
    goto __pyx_L2;
  }
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_isinstance); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; goto __pyx_L1;}
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_types); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_IntType); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; goto __pyx_L1;}
  Py_INCREF(__pyx_v_value);
  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_value);
  PyTuple_SET_ITEM(__pyx_2, 1, __pyx_3);
  __pyx_3 = 0;
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_4 = PyObject_IsTrue(__pyx_3); if (__pyx_4 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":989 */
    __pyx_v_valint = ((int )PyInt_AsLong(__pyx_v_value));

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":990 */
    __pyx_v_ret = H5LTset_attribute_int(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name,__pyx_v_name,(&__pyx_v_valint),1);
    goto __pyx_L2;
  }
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_isinstance); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; goto __pyx_L1;}
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_types); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_FloatType); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; goto __pyx_L1;}
  Py_INCREF(__pyx_v_value);
  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_value);
  PyTuple_SET_ITEM(__pyx_2, 1, __pyx_3);
  __pyx_3 = 0;
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_4 = PyObject_IsTrue(__pyx_3); if (__pyx_4 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":992 */
    __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n__g_setAttrDouble); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; goto __pyx_L1;}
    __pyx_2 = PyString_FromString(__pyx_v_name); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
    Py_INCREF(__pyx_v_value);
    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_value);
    __pyx_2 = 0;
    __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1003 */
    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_cPickle); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; goto __pyx_L1;}
    __pyx_3 = PyObject_GetAttr(__pyx_1, __pyx_n_dumps); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_2 = PyInt_FromLong(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; goto __pyx_L1;}
    __pyx_1 = PyTuple_New(2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; goto __pyx_L1;}
    Py_INCREF(__pyx_v_value);
    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_value);
    PyTuple_SET_ITEM(__pyx_1, 1, __pyx_2);
    __pyx_2 = 0;
    __pyx_2 = PyObject_CallObject(__pyx_3, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_v_pickledvalue);
    __pyx_v_pickledvalue = __pyx_2;
    __pyx_2 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1004 */
    __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n__g_setAttrStr); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; goto __pyx_L1;}
    __pyx_1 = PyString_FromString(__pyx_v_name); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; goto __pyx_L1;}
    __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
    Py_INCREF(__pyx_v_pickledvalue);
    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_pickledvalue);
    __pyx_1 = 0;
    __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1006 */
  __pyx_4 = (__pyx_v_ret < 0);
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1007 */
    __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1007; goto __pyx_L1;}
    __pyx_2 = PyString_FromString(__pyx_v_name); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; goto __pyx_L1;}
    __pyx_1 = PyTuple_New(2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
    Py_INCREF(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
    PyTuple_SET_ITEM(__pyx_1, 1, ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
    __pyx_2 = 0;
    __pyx_2 = PyNumber_Remainder(__pyx_k52p, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1007; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1007; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
    __pyx_2 = 0;
    __pyx_2 = PyObject_CallObject(__pyx_3, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1007; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __Pyx_Raise(__pyx_2, 0, 0);
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1007; goto __pyx_L1;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_setAttr");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_pickledvalue);
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_value);
  return __pyx_r;
}

static PyObject *__pyx_k53p;

static char (__pyx_k53[]) = "Can't set attribute '%s' in node:\n %s.";

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrStr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrStr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_attrname);
  char (*__pyx_v_attrvalue);
  int __pyx_v_ret;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"attrname","attrvalue",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "ss", __pyx_argnames, &__pyx_v_attrname, &__pyx_v_attrvalue)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1013 */
  __pyx_v_ret = H5LTset_attribute_string(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name,__pyx_v_attrname,__pyx_v_attrvalue);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1015 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1016 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(__pyx_v_attrname); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    Py_INCREF(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
    PyTuple_SET_ITEM(__pyx_4, 1, ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
    __pyx_3 = 0;
    __pyx_3 = PyNumber_Remainder(__pyx_k53p, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    __pyx_3 = 0;
    __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_3, 0, 0);
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_setAttrStr");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k54p;

static char (__pyx_k54[]) = "Can't set attribute '%s' in node:\n %s.";

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrChar(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrChar(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_attrname);
  char __pyx_v_attrvalue;
  int __pyx_v_ret;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"attrname","attrvalue",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "sc", __pyx_argnames, &__pyx_v_attrname, &__pyx_v_attrvalue)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1022 */
  __pyx_v_ret = H5LTset_attribute_char(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name,__pyx_v_attrname,(&__pyx_v_attrvalue),1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1024 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1025 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(__pyx_v_attrname); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    Py_INCREF(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
    PyTuple_SET_ITEM(__pyx_4, 1, ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
    __pyx_3 = 0;
    __pyx_3 = PyNumber_Remainder(__pyx_k54p, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    __pyx_3 = 0;
    __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_3, 0, 0);
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_setAttrChar");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k55p;

static char (__pyx_k55[]) = "Can't set attribute '%s' in node:\n %s.";

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrShort(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrShort(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_attrname);
  short __pyx_v_attrvalue;
  int __pyx_v_ret;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"attrname","attrvalue",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "sh", __pyx_argnames, &__pyx_v_attrname, &__pyx_v_attrvalue)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1031 */
  __pyx_v_ret = H5LTset_attribute_short(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name,__pyx_v_attrname,(&__pyx_v_attrvalue),1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1033 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1034 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(__pyx_v_attrname); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    Py_INCREF(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
    PyTuple_SET_ITEM(__pyx_4, 1, ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
    __pyx_3 = 0;
    __pyx_3 = PyNumber_Remainder(__pyx_k55p, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    __pyx_3 = 0;
    __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_3, 0, 0);
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_setAttrShort");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k56p;

static char (__pyx_k56[]) = "Can't set attribute '%s' in node:\n %s.";

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrInt(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrInt(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_attrname);
  int __pyx_v_attrvalue;
  int __pyx_v_ret;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"attrname","attrvalue",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "si", __pyx_argnames, &__pyx_v_attrname, &__pyx_v_attrvalue)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1040 */
  __pyx_v_ret = H5LTset_attribute_int(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name,__pyx_v_attrname,(&__pyx_v_attrvalue),1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1042 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1043 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(__pyx_v_attrname); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    Py_INCREF(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
    PyTuple_SET_ITEM(__pyx_4, 1, ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
    __pyx_3 = 0;
    __pyx_3 = PyNumber_Remainder(__pyx_k56p, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    __pyx_3 = 0;
    __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_3, 0, 0);
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_setAttrInt");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k57p;

static char (__pyx_k57[]) = "Can't set attribute '%s' in node:\n %s.";

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrFloat(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrFloat(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_attrname);
  float __pyx_v_attrvalue;
  int __pyx_v_ret;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"attrname","attrvalue",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "sf", __pyx_argnames, &__pyx_v_attrname, &__pyx_v_attrvalue)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1049 */
  __pyx_v_ret = H5LTset_attribute_float(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name,__pyx_v_attrname,(&__pyx_v_attrvalue),1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1051 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1052 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(__pyx_v_attrname); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    Py_INCREF(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
    PyTuple_SET_ITEM(__pyx_4, 1, ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
    __pyx_3 = 0;
    __pyx_3 = PyNumber_Remainder(__pyx_k57p, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    __pyx_3 = 0;
    __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_3, 0, 0);
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_setAttrFloat");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k58p;

static char (__pyx_k58[]) = "Can't set attribute '%s' in node:\n %s.";

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrDouble(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrDouble(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_attrname);
  double __pyx_v_attrvalue;
  int __pyx_v_ret;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"attrname","attrvalue",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "sd", __pyx_argnames, &__pyx_v_attrname, &__pyx_v_attrvalue)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1058 */
  __pyx_v_ret = H5LTset_attribute_double(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name,__pyx_v_attrname,(&__pyx_v_attrvalue),1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1060 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1061 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(__pyx_v_attrname); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    Py_INCREF(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
    PyTuple_SET_ITEM(__pyx_4, 1, ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
    __pyx_3 = 0;
    __pyx_3 = PyNumber_Remainder(__pyx_k58p, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    __pyx_3 = 0;
    __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_3, 0, 0);
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_setAttrDouble");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_n__g_getNodeAttr;
static PyObject *__pyx_n__v_name;

static PyObject *__pyx_k59p;
static PyObject *__pyx_k60p;

static char (__pyx_k59[]) = "Cannot open the dataset '%s' in node '%s'";
static char (__pyx_k60[]) = "Cannot close the dataset '%s'";

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_getAttr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_getAttr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_attrname);
  PyObject *__pyx_v_attrvalue;
  hid_t __pyx_v_loc_id;
  PyObject *__pyx_v_ret;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  int __pyx_4;
  PyObject *__pyx_5 = 0;
  PyObject *__pyx_6 = 0;
  PyObject *__pyx_7 = 0;
  static char *__pyx_argnames[] = {"attrname",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "s", __pyx_argnames, &__pyx_v_attrname)) return 0;
  Py_INCREF(__pyx_v_self);
  __pyx_v_attrvalue = Py_None; Py_INCREF(__pyx_v_attrvalue);
  __pyx_v_ret = Py_None; Py_INCREF(__pyx_v_ret);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1067 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_isinstance); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; goto __pyx_L1;}
  __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; goto __pyx_L1;}
  Py_INCREF(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
  PyTuple_SET_ITEM(__pyx_2, 0, ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
  Py_INCREF(((PyObject*)__pyx_ptype_13hdf5Extension_Group));
  PyTuple_SET_ITEM(__pyx_2, 1, ((PyObject*)__pyx_ptype_13hdf5Extension_Group));
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_4 = PyObject_IsTrue(__pyx_3); if (__pyx_4 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1068 */
    __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n__g_getNodeAttr); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; goto __pyx_L1;}
    __pyx_2 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; goto __pyx_L1;}
    __pyx_3 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node, __pyx_n__v_objectID); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; goto __pyx_L1;}
    __pyx_5 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; goto __pyx_L1;}
    __pyx_6 = PyString_FromString(__pyx_v_attrname); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; goto __pyx_L1;}
    __pyx_7 = PyTuple_New(4); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_7, 0, __pyx_2);
    PyTuple_SET_ITEM(__pyx_7, 1, __pyx_3);
    PyTuple_SET_ITEM(__pyx_7, 2, __pyx_5);
    PyTuple_SET_ITEM(__pyx_7, 3, __pyx_6);
    __pyx_2 = 0;
    __pyx_3 = 0;
    __pyx_5 = 0;
    __pyx_6 = 0;
    __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_7); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_7); __pyx_7 = 0;
    Py_DECREF(__pyx_v_attrvalue);
    __pyx_v_attrvalue = __pyx_2;
    __pyx_2 = 0;
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1072 */
    __pyx_v_loc_id = H5Dopen(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1073 */
    __pyx_4 = (__pyx_v_loc_id < 0);
    if (__pyx_4) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1074 */
      __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; goto __pyx_L1;}
      __pyx_5 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; goto __pyx_L1;}
      __pyx_6 = PyObject_GetAttr(__pyx_v_self, __pyx_n__v_parent); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; goto __pyx_L1;}
      __pyx_1 = PyObject_GetAttr(__pyx_6, __pyx_n__v_name); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; goto __pyx_L1;}
      Py_DECREF(__pyx_6); __pyx_6 = 0;
      __pyx_7 = PyTuple_New(2); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_7, 0, __pyx_5);
      PyTuple_SET_ITEM(__pyx_7, 1, __pyx_1);
      __pyx_5 = 0;
      __pyx_1 = 0;
      __pyx_2 = PyNumber_Remainder(__pyx_k59p, __pyx_7); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; goto __pyx_L1;}
      Py_DECREF(__pyx_7); __pyx_7 = 0;
      __pyx_6 = PyTuple_New(1); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_6, 0, __pyx_2);
      __pyx_2 = 0;
      __pyx_5 = PyObject_CallObject(__pyx_3, __pyx_6); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      Py_DECREF(__pyx_6); __pyx_6 = 0;
      __Pyx_Raise(__pyx_5, 0, 0);
      Py_DECREF(__pyx_5); __pyx_5 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; goto __pyx_L1;}
      goto __pyx_L3;
    }
    __pyx_L3:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1077 */
    __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n__g_getNodeAttr); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; goto __pyx_L1;}
    __pyx_7 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; goto __pyx_L1;}
    __pyx_2 = PyInt_FromLong(__pyx_v_loc_id); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; goto __pyx_L1;}
    __pyx_6 = PyString_FromString(__pyx_v_attrname); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; goto __pyx_L1;}
    __pyx_5 = PyTuple_New(4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_5, 0, __pyx_7);
    PyTuple_SET_ITEM(__pyx_5, 1, __pyx_2);
    PyTuple_SET_ITEM(__pyx_5, 2, __pyx_3);
    PyTuple_SET_ITEM(__pyx_5, 3, __pyx_6);
    __pyx_7 = 0;
    __pyx_2 = 0;
    __pyx_3 = 0;
    __pyx_6 = 0;
    __pyx_7 = PyObject_CallObject(__pyx_1, __pyx_5); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    Py_DECREF(__pyx_v_attrvalue);
    __pyx_v_attrvalue = __pyx_7;
    __pyx_7 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1081 */
    __pyx_2 = PyInt_FromLong(H5Dclose(__pyx_v_loc_id)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; goto __pyx_L1;}
    Py_DECREF(__pyx_v_ret);
    __pyx_v_ret = __pyx_2;
    __pyx_2 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1082 */
    __pyx_3 = PyInt_FromLong(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; goto __pyx_L1;}
    if (PyObject_Cmp(__pyx_v_ret, __pyx_3, &__pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; goto __pyx_L1;}
    __pyx_4 = __pyx_4 < 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    if (__pyx_4) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1083 */
      __pyx_6 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; goto __pyx_L1;}
      __pyx_1 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; goto __pyx_L1;}
      __pyx_5 = PyNumber_Remainder(__pyx_k60p, __pyx_1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      __pyx_7 = PyTuple_New(1); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_7, 0, __pyx_5);
      __pyx_5 = 0;
      __pyx_2 = PyObject_CallObject(__pyx_6, __pyx_7); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; goto __pyx_L1;}
      Py_DECREF(__pyx_6); __pyx_6 = 0;
      Py_DECREF(__pyx_7); __pyx_7 = 0;
      __Pyx_Raise(__pyx_2, 0, 0);
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; goto __pyx_L1;}
      goto __pyx_L4;
    }
    __pyx_L4:;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1085 */
  Py_INCREF(__pyx_v_attrvalue);
  __pyx_r = __pyx_v_attrvalue;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_5);
  Py_XDECREF(__pyx_6);
  Py_XDECREF(__pyx_7);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_getAttr");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_attrvalue);
  Py_DECREF(__pyx_v_ret);
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_getSysAttr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_getSysAttr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_attrname);
  PyObject *__pyx_v_ret;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  static char *__pyx_argnames[] = {"attrname",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "s", __pyx_argnames, &__pyx_v_attrname)) return 0;
  Py_INCREF(__pyx_v_self);
  __pyx_v_ret = Py_None; Py_INCREF(__pyx_v_ret);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1089 */
  __pyx_1 = H5LTget_attribute_string_sys(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name,__pyx_v_attrname); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; goto __pyx_L1;}
  Py_DECREF(__pyx_v_ret);
  __pyx_v_ret = __pyx_1;
  __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1091 */
  Py_INCREF(__pyx_v_ret);
  __pyx_r = __pyx_v_ret;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_getSysAttr");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_ret);
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_getChildSysAttr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_getChildSysAttr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_dsetname);
  char (*__pyx_v_attrname);
  PyObject *__pyx_v_ret;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  hid_t __pyx_2;
  static char *__pyx_argnames[] = {"dsetname","attrname",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "ss", __pyx_argnames, &__pyx_v_dsetname, &__pyx_v_attrname)) return 0;
  Py_INCREF(__pyx_v_self);
  __pyx_v_ret = Py_None; Py_INCREF(__pyx_v_ret);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1095 */
  __pyx_1 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node, __pyx_n__v_objectID); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; goto __pyx_L1;}
  __pyx_2 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_1 = H5LTget_attribute_string_sys(__pyx_2,__pyx_v_dsetname,__pyx_v_attrname); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; goto __pyx_L1;}
  Py_DECREF(__pyx_v_ret);
  __pyx_v_ret = __pyx_1;
  __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1097 */
  Py_INCREF(__pyx_v_ret);
  __pyx_r = __pyx_v_ret;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_getChildSysAttr");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_ret);
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k61p;
static PyObject *__pyx_k62p;

static char (__pyx_k61[]) = "Cannot open the child '%s' of node '%s'";
static char (__pyx_k62[]) = "Cannot close the dataset '%s'";

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_getChildAttr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_getChildAttr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_dsetname);
  char (*__pyx_v_attrname);
  PyObject *__pyx_v_attrvalue;
  hid_t __pyx_v_loc_id;
  PyObject *__pyx_v_ret;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  hid_t __pyx_2;
  int __pyx_3;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  PyObject *__pyx_6 = 0;
  PyObject *__pyx_7 = 0;
  PyObject *__pyx_8 = 0;
  static char *__pyx_argnames[] = {"dsetname","attrname",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "ss", __pyx_argnames, &__pyx_v_dsetname, &__pyx_v_attrname)) return 0;
  Py_INCREF(__pyx_v_self);
  __pyx_v_attrvalue = Py_None; Py_INCREF(__pyx_v_attrvalue);
  __pyx_v_ret = Py_None; Py_INCREF(__pyx_v_ret);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1103 */
  __pyx_1 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node, __pyx_n__v_objectID); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; goto __pyx_L1;}
  __pyx_2 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_v_loc_id = H5Dopen(__pyx_2,__pyx_v_dsetname);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1104 */
  __pyx_3 = (__pyx_v_loc_id < 0);
  if (__pyx_3) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1105 */
    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; goto __pyx_L1;}
    __pyx_4 = PyString_FromString(__pyx_v_dsetname); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; goto __pyx_L1;}
    __pyx_5 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; goto __pyx_L1;}
    __pyx_6 = PyTuple_New(2); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_6, 0, __pyx_4);
    PyTuple_SET_ITEM(__pyx_6, 1, __pyx_5);
    __pyx_4 = 0;
    __pyx_5 = 0;
    __pyx_4 = PyNumber_Remainder(__pyx_k61p, __pyx_6); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; goto __pyx_L1;}
    Py_DECREF(__pyx_6); __pyx_6 = 0;
    __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_5, 0, __pyx_4);
    __pyx_4 = 0;
    __pyx_6 = PyObject_CallObject(__pyx_1, __pyx_5); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __Pyx_Raise(__pyx_6, 0, 0);
    Py_DECREF(__pyx_6); __pyx_6 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1108 */
  __pyx_4 = PyObject_GetAttr(__pyx_v_self, __pyx_n__g_getNodeAttr); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; goto __pyx_L1;}
  __pyx_1 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node, __pyx_n__v_objectID); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; goto __pyx_L1;}
  __pyx_5 = PyInt_FromLong(__pyx_v_loc_id); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; goto __pyx_L1;}
  __pyx_6 = PyString_FromString(__pyx_v_dsetname); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; goto __pyx_L1;}
  __pyx_7 = PyString_FromString(__pyx_v_attrname); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; goto __pyx_L1;}
  __pyx_8 = PyTuple_New(4); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_8, 0, __pyx_1);
  PyTuple_SET_ITEM(__pyx_8, 1, __pyx_5);
  PyTuple_SET_ITEM(__pyx_8, 2, __pyx_6);
  PyTuple_SET_ITEM(__pyx_8, 3, __pyx_7);
  __pyx_1 = 0;
  __pyx_5 = 0;
  __pyx_6 = 0;
  __pyx_7 = 0;
  __pyx_1 = PyObject_CallObject(__pyx_4, __pyx_8); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; goto __pyx_L1;}
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  Py_DECREF(__pyx_8); __pyx_8 = 0;
  Py_DECREF(__pyx_v_attrvalue);
  __pyx_v_attrvalue = __pyx_1;
  __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1111 */
  __pyx_5 = PyInt_FromLong(H5Dclose(__pyx_v_loc_id)); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; goto __pyx_L1;}
  Py_DECREF(__pyx_v_ret);
  __pyx_v_ret = __pyx_5;
  __pyx_5 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1112 */
  __pyx_6 = PyInt_FromLong(0); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; goto __pyx_L1;}
  if (PyObject_Cmp(__pyx_v_ret, __pyx_6, &__pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; goto __pyx_L1;}
  __pyx_3 = __pyx_3 < 0;
  Py_DECREF(__pyx_6); __pyx_6 = 0;
  if (__pyx_3) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1113 */
    __pyx_7 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; goto __pyx_L1;}
    __pyx_4 = PyString_FromString(__pyx_v_dsetname); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; goto __pyx_L1;}
    __pyx_8 = PyNumber_Remainder(__pyx_k62p, __pyx_4); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_8);
    __pyx_8 = 0;
    __pyx_5 = PyObject_CallObject(__pyx_7, __pyx_1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; goto __pyx_L1;}
    Py_DECREF(__pyx_7); __pyx_7 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __Pyx_Raise(__pyx_5, 0, 0);
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; goto __pyx_L1;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1115 */
  Py_INCREF(__pyx_v_attrvalue);
  __pyx_r = __pyx_v_attrvalue;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  Py_XDECREF(__pyx_6);
  Py_XDECREF(__pyx_7);
  Py_XDECREF(__pyx_8);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_getChildAttr");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_attrvalue);
  Py_DECREF(__pyx_v_ret);
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k63p;
static PyObject *__pyx_k64p;
static PyObject *__pyx_k65p;
static PyObject *__pyx_k66p;
static PyObject *__pyx_k67p;
static PyObject *__pyx_k68p;

static char (__pyx_k63[]) = "Can't get ndims on attribute %s in node %s.";
static char (__pyx_k64[]) = "Info: Can\'t deal with multidimensional attribute \'%s\' in node \'%s\'. Sorry about that!";
static char (__pyx_k65[]) = "Can't get info on attribute %s in node %s.";
static char (__pyx_k66[]) = "Info: Can\'t deal with multidimensional attribute \'%s\' in node \'%s\'.";
static char (__pyx_k67[]) = "Info: Type of attribute \'%s\' in node \'%s\' is not supported. Sorry about that!";
static char (__pyx_k68[]) = "Attribute %s exists in node %s, but can't get it.";

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_getNodeAttr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_getNodeAttr(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_parent_id;
  int __pyx_v_loc_id;
  char (*__pyx_v_dsetname);
  char (*__pyx_v_attrname);
  hsize_t (*__pyx_v_dims);
  hsize_t __pyx_v_nelements;
  enum H5T_class_t __pyx_v_class_id;
  size_t __pyx_v_type_size;
  char (*__pyx_v_attrvaluestr);
  char __pyx_v_attrvaluechar;
  short __pyx_v_attrvalueshort;
  long __pyx_v_attrvaluelong;
  float __pyx_v_attrvaluefloat;
  double __pyx_v_attrvaluedouble;
  PyObject *__pyx_v_retvalue;
  hid_t __pyx_v_mem_type;
  int __pyx_v_rank;
  int __pyx_v_ret;
  int __pyx_v_i;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  static char *__pyx_argnames[] = {"parent_id","loc_id","dsetname","attrname",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "iiss", __pyx_argnames, &__pyx_v_parent_id, &__pyx_v_loc_id, &__pyx_v_dsetname, &__pyx_v_attrname)) return 0;
  Py_INCREF(__pyx_v_self);
  __pyx_v_retvalue = Py_None; Py_INCREF(__pyx_v_retvalue);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1135 */
  __pyx_1 = (H5LT_find_attribute(__pyx_v_loc_id,__pyx_v_attrname) <= 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1138 */
    Py_INCREF(Py_None);
    __pyx_r = Py_None;
    goto __pyx_L0;
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1140 */
  __pyx_v_ret = H5LTget_attribute_ndims(__pyx_v_parent_id,__pyx_v_dsetname,__pyx_v_attrname,(&__pyx_v_rank));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1141 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1142 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(__pyx_v_attrname); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; goto __pyx_L1;}
    __pyx_4 = PyString_FromString(__pyx_v_dsetname); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; goto __pyx_L1;}
    __pyx_5 = PyTuple_New(2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_5, 0, __pyx_3);
    PyTuple_SET_ITEM(__pyx_5, 1, __pyx_4);
    __pyx_3 = 0;
    __pyx_4 = 0;
    __pyx_3 = PyNumber_Remainder(__pyx_k63p, __pyx_5); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    __pyx_3 = 0;
    __pyx_5 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_5, 0, 0);
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; goto __pyx_L1;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1145 */
  __pyx_1 = (__pyx_v_rank > 1);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1146 */
    __pyx_3 = PyString_FromString(__pyx_v_attrname); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; goto __pyx_L1;}
    __pyx_2 = PyString_FromString(__pyx_v_dsetname); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_2);
    __pyx_3 = 0;
    __pyx_2 = 0;
    __pyx_5 = PyNumber_Remainder(__pyx_k64p, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    if (__Pyx_PrintItem(__pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    if (__Pyx_PrintNewline() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; goto __pyx_L1;}

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1148 */
    Py_INCREF(Py_None);
    __pyx_r = Py_None;
    goto __pyx_L0;
    goto __pyx_L4;
  }
  __pyx_L4:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1151 */
  __pyx_1 = (__pyx_v_rank > 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1152 */
    __pyx_v_dims = ((hsize_t (*))malloc((__pyx_v_rank * (sizeof(hsize_t )))));
    goto __pyx_L5;
  }
  __pyx_L5:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1154 */
  __pyx_v_ret = H5LTget_attribute_info(__pyx_v_parent_id,__pyx_v_dsetname,__pyx_v_attrname,__pyx_v_dims,(&__pyx_v_class_id),(&__pyx_v_type_size));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1156 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1157 */
    __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; goto __pyx_L1;}
    __pyx_2 = PyString_FromString(__pyx_v_attrname); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; goto __pyx_L1;}
    __pyx_4 = PyString_FromString(__pyx_v_dsetname); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; goto __pyx_L1;}
    __pyx_5 = PyTuple_New(2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_5, 0, __pyx_2);
    PyTuple_SET_ITEM(__pyx_5, 1, __pyx_4);
    __pyx_2 = 0;
    __pyx_4 = 0;
    __pyx_2 = PyNumber_Remainder(__pyx_k65p, __pyx_5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
    __pyx_2 = 0;
    __pyx_5 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_5, 0, 0);
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; goto __pyx_L1;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1160 */
  __pyx_1 = (__pyx_v_rank > 0);
  if (__pyx_1) {
    __pyx_1 = ((__pyx_v_dims[0]) > 1);
  }
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1161 */
    __pyx_2 = PyString_FromString(__pyx_v_attrname); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(__pyx_v_dsetname); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_3);
    __pyx_2 = 0;
    __pyx_3 = 0;
    __pyx_5 = PyNumber_Remainder(__pyx_k66p, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    if (__Pyx_PrintItem(__pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    if (__Pyx_PrintNewline() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; goto __pyx_L1;}

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1164 */
    free(((void (*))__pyx_v_dims));

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1165 */
    Py_INCREF(Py_None);
    __pyx_r = Py_None;
    goto __pyx_L0;
    goto __pyx_L7;
  }
  __pyx_1 = (__pyx_v_rank > 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1167 */
    free(((void (*))__pyx_v_dims));
    goto __pyx_L7;
  }
  __pyx_L7:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1169 */
  __pyx_1 = (__pyx_v_class_id == H5T_INTEGER);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1170 */
    __pyx_1 = (__pyx_v_type_size == 1);
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1171 */
      __pyx_v_ret = H5LTget_attribute_char(__pyx_v_parent_id,__pyx_v_dsetname,__pyx_v_attrname,(&__pyx_v_attrvaluechar));

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1173 */
      __pyx_2 = PyInt_FromLong(((long )__pyx_v_attrvaluechar)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; goto __pyx_L1;}
      Py_DECREF(__pyx_v_retvalue);
      __pyx_v_retvalue = __pyx_2;
      __pyx_2 = 0;
      goto __pyx_L9;
    }
    __pyx_L9:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1174 */
    __pyx_1 = (__pyx_v_type_size == 2);
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1175 */
      __pyx_v_ret = H5LTget_attribute_short(__pyx_v_parent_id,__pyx_v_dsetname,__pyx_v_attrname,(&__pyx_v_attrvalueshort));

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1177 */
      __pyx_3 = PyInt_FromLong(((long )__pyx_v_attrvalueshort)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1177; goto __pyx_L1;}
      Py_DECREF(__pyx_v_retvalue);
      __pyx_v_retvalue = __pyx_3;
      __pyx_3 = 0;
      goto __pyx_L10;
    }
    __pyx_L10:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1178 */
    __pyx_1 = (__pyx_v_type_size == 4);
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1179 */
      __pyx_v_ret = H5LTget_attribute_long(__pyx_v_parent_id,__pyx_v_dsetname,__pyx_v_attrname,(&__pyx_v_attrvaluelong));

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1181 */
      __pyx_4 = PyInt_FromLong(__pyx_v_attrvaluelong); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1181; goto __pyx_L1;}
      Py_DECREF(__pyx_v_retvalue);
      __pyx_v_retvalue = __pyx_4;
      __pyx_4 = 0;
      goto __pyx_L11;
    }
    __pyx_L11:;
    goto __pyx_L8;
  }
  __pyx_1 = (__pyx_v_class_id == H5T_FLOAT);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1183 */
    __pyx_1 = (__pyx_v_type_size == 4);
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1184 */
      __pyx_v_ret = H5LTget_attribute_float(__pyx_v_parent_id,__pyx_v_dsetname,__pyx_v_attrname,(&__pyx_v_attrvaluefloat));

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1186 */
      __pyx_5 = PyFloat_FromDouble(((double )__pyx_v_attrvaluefloat)); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; goto __pyx_L1;}
      Py_DECREF(__pyx_v_retvalue);
      __pyx_v_retvalue = __pyx_5;
      __pyx_5 = 0;
      goto __pyx_L12;
    }
    __pyx_L12:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1187 */
    __pyx_1 = (__pyx_v_type_size == 8);
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1188 */
      __pyx_v_ret = H5LTget_attribute_double(__pyx_v_parent_id,__pyx_v_dsetname,__pyx_v_attrname,(&__pyx_v_attrvaluedouble));

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1190 */
      __pyx_2 = PyFloat_FromDouble(__pyx_v_attrvaluedouble); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; goto __pyx_L1;}
      Py_DECREF(__pyx_v_retvalue);
      __pyx_v_retvalue = __pyx_2;
      __pyx_2 = 0;
      goto __pyx_L13;
    }
    __pyx_L13:;
    goto __pyx_L8;
  }
  __pyx_1 = (__pyx_v_class_id == H5T_STRING);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1192 */
    __pyx_v_attrvaluestr = ((char (*))malloc((__pyx_v_type_size * (sizeof(char )))));

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1193 */
    __pyx_v_ret = H5LTget_attribute_string(__pyx_v_parent_id,__pyx_v_dsetname,__pyx_v_attrname,__pyx_v_attrvaluestr);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1195 */
    __pyx_3 = PyString_FromString(__pyx_v_attrvaluestr); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; goto __pyx_L1;}
    Py_DECREF(__pyx_v_retvalue);
    __pyx_v_retvalue = __pyx_3;
    __pyx_3 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1196 */
    free(((void (*))__pyx_v_attrvaluestr));
    goto __pyx_L8;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1198 */
    __pyx_4 = PyString_FromString(__pyx_v_attrname); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; goto __pyx_L1;}
    __pyx_5 = PyString_FromString(__pyx_v_dsetname); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; goto __pyx_L1;}
    __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_4);
    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_5);
    __pyx_4 = 0;
    __pyx_5 = 0;
    __pyx_3 = PyNumber_Remainder(__pyx_k67p, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    if (__Pyx_PrintItem(__pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    if (__Pyx_PrintNewline() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; goto __pyx_L1;}

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1200 */
    Py_INCREF(Py_None);
    __pyx_r = Py_None;
    goto __pyx_L0;
  }
  __pyx_L8:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1203 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1204 */
    __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; goto __pyx_L1;}
    __pyx_5 = PyString_FromString(__pyx_v_attrname); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; goto __pyx_L1;}
    __pyx_2 = PyString_FromString(__pyx_v_dsetname); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_5);
    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_2);
    __pyx_5 = 0;
    __pyx_2 = 0;
    __pyx_5 = PyNumber_Remainder(__pyx_k68p, __pyx_3); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_5);
    __pyx_5 = 0;
    __pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __Pyx_Raise(__pyx_3, 0, 0);
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; goto __pyx_L1;}
    goto __pyx_L14;
  }
  __pyx_L14:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1207 */
  Py_INCREF(__pyx_v_retvalue);
  __pyx_r = __pyx_v_retvalue;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_getNodeAttr");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_retvalue);
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_n_dsetname;

static PyObject *__pyx_k69p;
static PyObject *__pyx_k70p;
static PyObject *__pyx_k71p;
static PyObject *__pyx_k72p;

static char (__pyx_k69[]) = "Attribute '%s' exists in node '%s', but cannot be deleted.";
static char (__pyx_k70[]) = "Cannot open the dataset '%s' in node '%s'";
static char (__pyx_k71[]) = "Attribute '%s' exists in node '%s', but cannot be deleted.";
static char (__pyx_k72[]) = "Cannot close the dataset '%s'";

static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_remove(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_12AttributeSet__g_remove(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_attrname = 0;
  int __pyx_v_ret;
  hid_t __pyx_v_loc_id;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  int __pyx_4;
  hid_t __pyx_5;
  char (*__pyx_6);
  PyObject *__pyx_7 = 0;
  static char *__pyx_argnames[] = {"attrname",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_attrname)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_attrname);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1213 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_isinstance); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; goto __pyx_L1;}
  __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; goto __pyx_L1;}
  Py_INCREF(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
  PyTuple_SET_ITEM(__pyx_2, 0, ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
  Py_INCREF(((PyObject*)__pyx_ptype_13hdf5Extension_Group));
  PyTuple_SET_ITEM(__pyx_2, 1, ((PyObject*)__pyx_ptype_13hdf5Extension_Group));
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_4 = PyObject_IsTrue(__pyx_3); if (__pyx_4 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1214 */
    __pyx_1 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node, __pyx_n__v_objectID); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; goto __pyx_L1;}
    __pyx_5 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_6 = PyString_AsString(__pyx_v_attrname); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; goto __pyx_L1;}
    __pyx_v_ret = H5Adelete(__pyx_5,__pyx_6);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1215 */
    __pyx_4 = (__pyx_v_ret < 0);
    if (__pyx_4) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1216 */
      __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; goto __pyx_L1;}
      __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_dsetname); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; goto __pyx_L1;}
      __pyx_1 = PyTuple_New(2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; goto __pyx_L1;}
      Py_INCREF(__pyx_v_attrname);
      PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_attrname);
      PyTuple_SET_ITEM(__pyx_1, 1, __pyx_3);
      __pyx_3 = 0;
      __pyx_3 = PyNumber_Remainder(__pyx_k69p, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_1, 0, __pyx_3);
      __pyx_3 = 0;
      __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; goto __pyx_L1;}
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      __Pyx_Raise(__pyx_3, 0, 0);
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1216; goto __pyx_L1;}
      goto __pyx_L3;
    }
    __pyx_L3:;
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1220 */
    __pyx_v_loc_id = H5Dopen(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1221 */
    __pyx_4 = (__pyx_v_loc_id < 0);
    if (__pyx_4) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1222 */
      __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; goto __pyx_L1;}
      __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_dsetname); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; goto __pyx_L1;}
      __pyx_3 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; goto __pyx_L1;}
      __pyx_7 = PyTuple_New(2); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1223; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_7, 0, __pyx_1);
      PyTuple_SET_ITEM(__pyx_7, 1, __pyx_3);
      __pyx_1 = 0;
      __pyx_3 = 0;
      __pyx_1 = PyNumber_Remainder(__pyx_k70p, __pyx_7); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; goto __pyx_L1;}
      Py_DECREF(__pyx_7); __pyx_7 = 0;
      __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_1);
      __pyx_1 = 0;
      __pyx_7 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; goto __pyx_L1;}
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      __Pyx_Raise(__pyx_7, 0, 0);
      Py_DECREF(__pyx_7); __pyx_7 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1222; goto __pyx_L1;}
      goto __pyx_L4;
    }
    __pyx_L4:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1226 */
    __pyx_6 = PyString_AsString(__pyx_v_attrname); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; goto __pyx_L1;}
    __pyx_v_ret = H5Adelete(__pyx_v_loc_id,__pyx_6);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1227 */
    __pyx_4 = (__pyx_v_ret < 0);
    if (__pyx_4) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1228 */
      __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; goto __pyx_L1;}
      __pyx_2 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1229; goto __pyx_L1;}
      __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1229; goto __pyx_L1;}
      Py_INCREF(__pyx_v_attrname);
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_attrname);
      PyTuple_SET_ITEM(__pyx_3, 1, __pyx_2);
      __pyx_2 = 0;
      __pyx_7 = PyNumber_Remainder(__pyx_k71p, __pyx_3); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1229; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_2, 0, __pyx_7);
      __pyx_7 = 0;
      __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      __Pyx_Raise(__pyx_3, 0, 0);
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; goto __pyx_L1;}
      goto __pyx_L5;
    }
    __pyx_L5:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1232 */
    __pyx_v_ret = H5Dclose(__pyx_v_loc_id);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1233 */
    __pyx_4 = (__pyx_v_ret < 0);
    if (__pyx_4) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1234 */
      __pyx_7 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; goto __pyx_L1;}
      __pyx_1 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->name); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; goto __pyx_L1;}
      __pyx_2 = PyNumber_Remainder(__pyx_k72p, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
      __pyx_2 = 0;
      __pyx_1 = PyObject_CallObject(__pyx_7, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; goto __pyx_L1;}
      Py_DECREF(__pyx_7); __pyx_7 = 0;
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      __Pyx_Raise(__pyx_1, 0, 0);
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; goto __pyx_L1;}
      goto __pyx_L6;
    }
    __pyx_L6:;
  }
  __pyx_L2:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_7);
  __Pyx_AddTraceback("hdf5Extension.AttributeSet._g_remove");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_attrname);
  return __pyx_r;
}

static void __pyx_f_13hdf5Extension_12AttributeSet___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_f_13hdf5Extension_12AttributeSet___dealloc__(PyObject *__pyx_v_self) {
  int __pyx_v_ret;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1239 */
  Py_INCREF(Py_None);
  Py_DECREF(((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node);
  ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->node = Py_None;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1240 */
  ((struct __pyx_obj_13hdf5Extension_AttributeSet *)__pyx_v_self)->parent_id = 0;

  goto __pyx_L0;
  __pyx_L1:;
  __Pyx_AddTraceback("hdf5Extension.AttributeSet.__dealloc__");
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
}

static PyObject *__pyx_f_13hdf5Extension_5Group__g_new(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Group__g_new(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_where = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_r;
  char (*__pyx_1);
  PyObject *__pyx_2 = 0;
  hid_t __pyx_3;
  static char *__pyx_argnames[] = {"where","name",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_where, &__pyx_v_name)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_where);
  Py_INCREF(__pyx_v_name);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1250 */
  __pyx_1 = PyString_AsString(__pyx_v_name); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1250; goto __pyx_L1;}
  ((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->name = strdup(__pyx_1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1252 */
  __pyx_2 = PyObject_GetAttr(__pyx_v_where, __pyx_n__v_objectID); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; goto __pyx_L1;}
  __pyx_3 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  ((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->parent_id = __pyx_3;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  __Pyx_AddTraceback("hdf5Extension.Group._g_new");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_where);
  Py_DECREF(__pyx_v_name);
  return __pyx_r;
}

static PyObject *__pyx_k73p;

static char (__pyx_k73[]) = "Can't create the group %s.";

static PyObject *__pyx_f_13hdf5Extension_5Group__g_createGroup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Group__g_createGroup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  hid_t __pyx_v_ret;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1258 */
  __pyx_v_ret = H5Gcreate(((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->name,0);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1259 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1260 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; goto __pyx_L1;}
    __pyx_4 = PyNumber_Remainder(__pyx_k73p, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
    __pyx_4 = 0;
    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_4, 0, 0);
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1261 */
  ((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->group_id = __pyx_v_ret;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1262 */
  __pyx_2 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->group_id); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1262; goto __pyx_L1;}
  __pyx_r = __pyx_2;
  __pyx_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.Group._g_createGroup");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k74p;

static char (__pyx_k74[]) = "Can't open the group: '%s'.";

static PyObject *__pyx_f_13hdf5Extension_5Group__g_openGroup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Group__g_openGroup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  hid_t __pyx_v_ret;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1267 */
  __pyx_v_ret = H5Gopen(((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->name);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1268 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1269 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; goto __pyx_L1;}
    __pyx_4 = PyNumber_Remainder(__pyx_k74p, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
    __pyx_4 = 0;
    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_4, 0, 0);
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1269; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1270 */
  ((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->group_id = __pyx_v_ret;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1271 */
  __pyx_2 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->group_id); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1271; goto __pyx_L1;}
  __pyx_r = __pyx_2;
  __pyx_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.Group._g_openGroup");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_5Group__g_listGroup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Group__g_listGroup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_parent_id;
  int __pyx_v_loc_id;
  char (*__pyx_v_name);
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  static char *__pyx_argnames[] = {"parent_id","loc_id","name",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "iis", __pyx_argnames, &__pyx_v_parent_id, &__pyx_v_loc_id, &__pyx_v_name)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1275 */
  __pyx_1 = Giterate(__pyx_v_parent_id,__pyx_v_loc_id,__pyx_v_name); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; goto __pyx_L1;}
  __pyx_r = __pyx_1;
  __pyx_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  __Pyx_AddTraceback("hdf5Extension.Group._g_listGroup");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k75p;

static char (__pyx_k75[]) = "Problems closing the Group %s";

static PyObject *__pyx_f_13hdf5Extension_5Group__g_closeGroup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Group__g_closeGroup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_ret;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1280 */
  __pyx_v_ret = H5Gclose(((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->group_id);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1281 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1282 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; goto __pyx_L1;}
    __pyx_4 = PyNumber_Remainder(__pyx_k75p, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
    __pyx_4 = 0;
    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_4, 0, 0);
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1283 */
  ((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->group_id = 0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.Group._g_closeGroup");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k76p;

static char (__pyx_k76[]) = "Problems renaming the node %s";

static PyObject *__pyx_f_13hdf5Extension_5Group__g_renameNode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Group__g_renameNode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_oldname);
  char (*__pyx_v_newname);
  int __pyx_v_ret;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"oldname","newname",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "ss", __pyx_argnames, &__pyx_v_oldname, &__pyx_v_newname)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1288 */
  __pyx_v_ret = H5Gmove(((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->group_id,__pyx_v_oldname,__pyx_v_newname);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1289 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1290 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(__pyx_v_oldname); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; goto __pyx_L1;}
    __pyx_4 = PyNumber_Remainder(__pyx_k76p, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
    __pyx_4 = 0;
    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_4, 0, 0);
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1291 */
  __pyx_2 = PyInt_FromLong(__pyx_v_ret); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; goto __pyx_L1;}
  __pyx_r = __pyx_2;
  __pyx_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.Group._g_renameNode");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k77p;

static char (__pyx_k77[]) = "Problems deleting the Group %s";

static PyObject *__pyx_f_13hdf5Extension_5Group__g_deleteGroup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Group__g_deleteGroup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_ret;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1297 */
  __pyx_v_ret = H5Gunlink(((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->name);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1298 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1299 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; goto __pyx_L1;}
    __pyx_4 = PyNumber_Remainder(__pyx_k77p, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
    __pyx_4 = 0;
    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_4, 0, 0);
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1300 */
  __pyx_2 = PyInt_FromLong(__pyx_v_ret); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; goto __pyx_L1;}
  __pyx_r = __pyx_2;
  __pyx_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.Group._g_deleteGroup");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k78p;

static char (__pyx_k78[]) = "Problems deleting the Leaf %s";

static PyObject *__pyx_f_13hdf5Extension_5Group__g_deleteLeaf(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Group__g_deleteLeaf(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_dsetname);
  int __pyx_v_ret;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"dsetname",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "s", __pyx_argnames, &__pyx_v_dsetname)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1306 */
  __pyx_v_ret = H5Gunlink(((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->group_id,__pyx_v_dsetname);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1307 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1308 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; goto __pyx_L1;}
    __pyx_3 = PyString_FromString(__pyx_v_dsetname); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; goto __pyx_L1;}
    __pyx_4 = PyNumber_Remainder(__pyx_k78p, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
    __pyx_4 = 0;
    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_4, 0, 0);
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1309 */
  __pyx_2 = PyInt_FromLong(__pyx_v_ret); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; goto __pyx_L1;}
  __pyx_r = __pyx_2;
  __pyx_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.Group._g_deleteLeaf");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k79p;

static char (__pyx_k79[]) = "Group open: ";

static void __pyx_f_13hdf5Extension_5Group___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_f_13hdf5Extension_5Group___dealloc__(PyObject *__pyx_v_self) {
  int __pyx_v_ret;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1314 */
  __pyx_1 = (((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->group_id != 0);
  if (__pyx_1) {
    __pyx_1 = 0;
  }
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1315 */
    if (__Pyx_PrintItem(__pyx_k79p) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; goto __pyx_L1;}
    __pyx_2 = PyString_FromString(((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->name); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; goto __pyx_L1;}
    if (__Pyx_PrintItem(__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    if (__Pyx_PrintNewline() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1316 */
  free(((void (*))((struct __pyx_obj_13hdf5Extension_Group *)__pyx_v_self)->name));

  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  __Pyx_AddTraceback("hdf5Extension.Group.__dealloc__");
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
}

static PyObject *__pyx_f_13hdf5Extension_5Table__g_new(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Table__g_new(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_where = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_r;
  char (*__pyx_1);
  PyObject *__pyx_2 = 0;
  hid_t __pyx_3;
  static char *__pyx_argnames[] = {"where","name",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_where, &__pyx_v_name)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_where);
  Py_INCREF(__pyx_v_name);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1336 */
  __pyx_1 = PyString_AsString(__pyx_v_name); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; goto __pyx_L1;}
  ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->name = strdup(__pyx_1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1338 */
  __pyx_2 = PyObject_GetAttr(__pyx_v_where, __pyx_n__v_objectID); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; goto __pyx_L1;}
  __pyx_3 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->parent_id = __pyx_3;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1339 */
  ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->_open = 0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  __Pyx_AddTraceback("hdf5Extension.Table._g_new");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_where);
  Py_DECREF(__pyx_v_name);
  return __pyx_r;
}

static PyObject *__pyx_n_len;
static PyObject *__pyx_n_colnames;
static PyObject *__pyx_n_IndexError;
static PyObject *__pyx_n__v_fmt;
static PyObject *__pyx_n_NameError;
static PyObject *__pyx_n_rowsize;
static PyObject *__pyx_n__v_expectedrows;
static PyObject *__pyx_n_filters;
static PyObject *__pyx_n_complevel;
static PyObject *__pyx_n__v_maxTuples;
static PyObject *__pyx_n__v_chunksize;
static PyObject *__pyx_n_hasattr;
static PyObject *__pyx_n__v_recarray;
static PyObject *__pyx_n_nrows;
static PyObject *__pyx_n__data;
static PyObject *__pyx_n__byteoffset;
static PyObject *__pyx_n_shuffle;
static PyObject *__pyx_n_fletcher32;

static PyObject *__pyx_k80p;
static PyObject *__pyx_k81p;
static PyObject *__pyx_k82p;
static PyObject *__pyx_k84p;

static char (__pyx_k80[]) = "A maximum of %d fields on tables is allowed";
static char (__pyx_k81[]) = "A maximum length of %d on column names is allowed";
static char (__pyx_k82[]) = "Row size too large. Maximum size is 8192 bytes, and you are asking\n    for a row size of %s bytes.";
static char (__pyx_k84[]) = "Problems creating the table";

static PyObject *__pyx_f_13hdf5Extension_5Table__createTable(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Table__createTable(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_title);
  char (*__pyx_v_complib);
  int __pyx_v_nvar;
  int __pyx_v_offset;
  int __pyx_v_i;
  int __pyx_v_ret;
  long __pyx_v_buflen;
  hid_t __pyx_v_oid;
  hid_t (__pyx_v_field_types[__pyx_e_13hdf5Extension_MAX_FIELDS]);
  void (*__pyx_v_fill_data);
  void (*__pyx_v_data);
  hsize_t __pyx_v_nrecords;
  PyObject *__pyx_v_name;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  int __pyx_4;
  PyObject *__pyx_5 = 0;
  char (*__pyx_6);
  PyObject *__pyx_7 = 0;
  hsize_t __pyx_8;
  size_t __pyx_9;
  hsize_t __pyx_10;
  int __pyx_11;
  int __pyx_12;
  static char *__pyx_argnames[] = {"title","complib",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "ss", __pyx_argnames, &__pyx_v_title, &__pyx_v_complib)) return 0;
  Py_INCREF(__pyx_v_self);
  __pyx_v_name = Py_None; Py_INCREF(__pyx_v_name);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1352 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_len); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_colnames); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; goto __pyx_L1;}
  __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
  __pyx_2 = 0;
  __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_1 = PyInt_FromLong(__pyx_e_13hdf5Extension_MAX_FIELDS); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; goto __pyx_L1;}
  if (PyObject_Cmp(__pyx_2, __pyx_1, &__pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; goto __pyx_L1;}
  __pyx_4 = __pyx_4 > 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1353 */
    __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_IndexError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; goto __pyx_L1;}
    __pyx_2 = PyInt_FromLong(__pyx_e_13hdf5Extension_MAX_FIELDS); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; goto __pyx_L1;}
    __pyx_1 = PyNumber_Remainder(__pyx_k80p, __pyx_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
    __pyx_1 = 0;
    __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __Pyx_Raise(__pyx_1, 0, 0);
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1357 */
  __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n__v_fmt); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; goto __pyx_L1;}
  ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->fmt = PyString_AsString(__pyx_3);
  Py_DECREF(__pyx_3); __pyx_3 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1360 */
  __pyx_v_i = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1361 */
  __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_colnames); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; goto __pyx_L1;}
  __pyx_1 = PyObject_GetIter(__pyx_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  for (;;) {
    __pyx_L3:;
    __pyx_3 = PyIter_Next(__pyx_1);
    if (!__pyx_3) {
      if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; goto __pyx_L1;}
      break;
    }
    Py_DECREF(__pyx_v_name);
    __pyx_v_name = __pyx_3;
    __pyx_3 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1362 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_len); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; goto __pyx_L1;}
    Py_INCREF(__pyx_v_name);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_name);
    __pyx_5 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_2 = PyInt_FromLong(__pyx_e_13hdf5Extension_MAX_CHARS); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; goto __pyx_L1;}
    if (PyObject_Cmp(__pyx_5, __pyx_2, &__pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; goto __pyx_L1;}
    __pyx_4 = __pyx_4 >= 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    if (__pyx_4) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1363 */
      __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_NameError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; goto __pyx_L1;}
      __pyx_5 = PyInt_FromLong((__pyx_e_13hdf5Extension_MAX_CHARS - 1)); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; goto __pyx_L1;}
      __pyx_2 = PyNumber_Remainder(__pyx_k81p, __pyx_5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; goto __pyx_L1;}
      Py_DECREF(__pyx_5); __pyx_5 = 0;
      __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_5, 0, __pyx_2);
      __pyx_2 = 0;
      __pyx_2 = PyObject_CallObject(__pyx_3, __pyx_5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      Py_DECREF(__pyx_5); __pyx_5 = 0;
      __Pyx_Raise(__pyx_2, 0, 0);
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; goto __pyx_L1;}
      goto __pyx_L5;
    }
    __pyx_L5:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1366 */
    __pyx_6 = PyString_AsString(__pyx_v_name); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1366; goto __pyx_L1;}
    (((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_names[__pyx_v_i]) = strdup(__pyx_6);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1367 */
    __pyx_v_i = (__pyx_v_i + 1);
  }
  __pyx_L4:;
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1370 */
  __pyx_3 = PyInt_FromLong(calcoffset(((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->fmt,(&__pyx_v_nvar),__pyx_v_field_types,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_sizes,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_offset)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_rowsize, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1372 */
  ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->nfields = __pyx_v_nvar;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1376 */
  __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_rowsize); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; goto __pyx_L1;}
  __pyx_2 = PyInt_FromLong(524288); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; goto __pyx_L1;}
  if (PyObject_Cmp(__pyx_5, __pyx_2, &__pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; goto __pyx_L1;}
  __pyx_4 = __pyx_4 > 0;
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1377 */
    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; goto __pyx_L1;}
    __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n_rowsize); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; goto __pyx_L1;}
    __pyx_5 = PyNumber_Remainder(__pyx_k82p, __pyx_3); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_1, __pyx_5, 0);
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; goto __pyx_L1;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1383 */
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_calcBufferSize); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n_rowsize); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; goto __pyx_L1;}
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n__v_expectedrows); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; goto __pyx_L1;}
  __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; goto __pyx_L1;}
  __pyx_7 = PyObject_GetAttr(__pyx_5, __pyx_n_complevel); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_5 = PyTuple_New(3); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_5, 0, __pyx_3);
  PyTuple_SET_ITEM(__pyx_5, 1, __pyx_1);
  PyTuple_SET_ITEM(__pyx_5, 2, __pyx_7);
  __pyx_3 = 0;
  __pyx_1 = 0;
  __pyx_7 = 0;
  __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_5); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_1 = __Pyx_UnpackItem(__pyx_3, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n__v_maxTuples, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_7 = __Pyx_UnpackItem(__pyx_3, 1); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n__v_chunksize, __pyx_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; goto __pyx_L1;}
  Py_DECREF(__pyx_7); __pyx_7 = 0;
  if (__Pyx_EndUnpack(__pyx_3, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1387 */
  __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_hasattr); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; goto __pyx_L1;}
  __pyx_5 = PyTuple_New(2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; goto __pyx_L1;}
  Py_INCREF(__pyx_v_self);
  PyTuple_SET_ITEM(__pyx_5, 0, __pyx_v_self);
  Py_INCREF(__pyx_n__v_recarray);
  PyTuple_SET_ITEM(__pyx_5, 1, __pyx_n__v_recarray);
  __pyx_1 = PyObject_CallObject(__pyx_2, __pyx_5); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_4 = PyObject_IsTrue(__pyx_1); if (__pyx_4 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1388 */
    __pyx_7 = PyObject_GetAttr(__pyx_v_self, __pyx_n_nrows); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; goto __pyx_L1;}
    __pyx_8 = PyLong_AsLongLong(__pyx_7); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1388; goto __pyx_L1;}
    Py_DECREF(__pyx_7); __pyx_7 = 0;
    ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords = __pyx_8;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1389 */
    __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n__v_recarray); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; goto __pyx_L1;}
    __pyx_2 = PyObject_GetAttr(__pyx_3, __pyx_n__data); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_v_buflen = NA_getBufferPtrAndSize(__pyx_2,1,(&__pyx_v_data));
    Py_DECREF(__pyx_2); __pyx_2 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1391 */
    __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n__v_recarray); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; goto __pyx_L1;}
    __pyx_1 = PyObject_GetAttr(__pyx_5, __pyx_n__byteoffset); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_4 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_v_offset = __pyx_4;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1392 */
    __pyx_v_data = ((void (*))(((char (*))__pyx_v_data) + __pyx_v_offset));
    goto __pyx_L7;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1394 */
    ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1395 */
    __pyx_v_data = 0;
  }
  __pyx_L7:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1398 */
  __pyx_v_fill_data = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1399 */
  __pyx_7 = PyInt_FromLong(__pyx_v_nvar); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; goto __pyx_L1;}
  __pyx_v_nrecords = ((hsize_t )PyInt_AsLong(__pyx_7));
  Py_DECREF(__pyx_7); __pyx_7 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1400 */
  __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n_nrows); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; goto __pyx_L1;}
  __pyx_8 = PyLong_AsLongLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_rowsize); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; goto __pyx_L1;}
  __pyx_9 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n__v_chunksize); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; goto __pyx_L1;}
  __pyx_10 = PyLong_AsLongLong(__pyx_5); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; goto __pyx_L1;}
  __pyx_7 = PyObject_GetAttr(__pyx_1, __pyx_n_complevel); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_4 = PyInt_AsLong(__pyx_7); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; goto __pyx_L1;}
  Py_DECREF(__pyx_7); __pyx_7 = 0;
  __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_3, __pyx_n_shuffle); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_11 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; goto __pyx_L1;}
  __pyx_1 = PyObject_GetAttr(__pyx_5, __pyx_n_fletcher32); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_12 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_v_oid = H5TBmake_table(__pyx_v_title,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->name,__pyx_v_nrecords,__pyx_8,__pyx_9,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_names,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_offset,__pyx_v_field_types,__pyx_10,__pyx_v_fill_data,__pyx_4,__pyx_v_complib,__pyx_11,__pyx_12,__pyx_v_data);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1406 */
  __pyx_4 = (__pyx_v_oid < 0);
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1407 */
    __pyx_7 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; goto __pyx_L1;}
    Py_INCREF(__pyx_k84p);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k84p);
    __pyx_2 = PyObject_CallObject(__pyx_7, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; goto __pyx_L1;}
    Py_DECREF(__pyx_7); __pyx_7 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_2, 0, 0);
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1407; goto __pyx_L1;}
    goto __pyx_L8;
  }
  __pyx_L8:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1408 */
  __pyx_5 = PyInt_FromLong(__pyx_v_oid); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_objectID, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1411 */
  for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_nvar; ++__pyx_v_i) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1412 */
    H5Tclose((__pyx_v_field_types[__pyx_v_i]));
    __pyx_L9:;
  }
  __pyx_L10:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_5);
  Py_XDECREF(__pyx_7);
  __Pyx_AddTraceback("hdf5Extension.Table._createTable");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_name);
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k85p;

static char (__pyx_k85[]) = "Problems opening table for append.";

static PyObject *__pyx_f_13hdf5Extension_5Table__open_append(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Table__open_append(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_recarr = 0;
  long __pyx_v_buflen;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  size_t __pyx_2;
  int __pyx_3;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  static char *__pyx_argnames[] = {"recarr",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_recarr)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_recarr);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1418 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_recarr, __pyx_n__data); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; goto __pyx_L1;}
  __pyx_v_buflen = NA_getBufferPtrAndSize(__pyx_1,1,(&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->rbuf));
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1421 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_rowsize); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; goto __pyx_L1;}
  __pyx_2 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_3 = (H5TBOopen_append((&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->dataset_id),(&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->mem_type_id),((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->name,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->nfields,__pyx_2,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_offset) < 0);
  if (__pyx_3) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1424 */
    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; goto __pyx_L1;}
    Py_INCREF(__pyx_k85p);
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k85p);
    __pyx_5 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_5, 0, 0);
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1426 */
  ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->_open = 1;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.Table._open_append");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_recarr);
  return __pyx_r;
}

static PyObject *__pyx_n__open_append;

static PyObject *__pyx_k86p;

static char (__pyx_k86[]) = "Problems appending the records.";

static PyObject *__pyx_f_13hdf5Extension_5Table__append_records(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Table__append_records(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_recarr = 0;
  int __pyx_v_nrecords;
  int __pyx_v_ret;
  int __pyx_v_;
  void (*__pyx_v_rbuf);
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"recarr","nrecords",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "Oi", __pyx_argnames, &__pyx_v_recarr, &__pyx_v_nrecords)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_recarr);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1435 */
  __pyx_1 = (!((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->_open);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1436 */
    __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n__open_append); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; goto __pyx_L1;}
    Py_INCREF(__pyx_v_recarr);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_recarr);
    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1436; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1439 */
  __pyx_v_ret = H5TBOappend_records((&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->dataset_id),(&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->mem_type_id),__pyx_v_nrecords,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->rbuf);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1441 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1442 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; goto __pyx_L1;}
    Py_INCREF(__pyx_k86p);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k86p);
    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_4, 0, 0);
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; goto __pyx_L1;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1444 */
  ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords = (((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords + __pyx_v_nrecords);

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.Table._append_records");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_recarr);
  return __pyx_r;
}

static PyObject *__pyx_k87p;

static char (__pyx_k87[]) = "Problems closing table for append.";

static PyObject *__pyx_f_13hdf5Extension_5Table__close_append(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Table__close_append(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1448 */
  __pyx_1 = (((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->_open > 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1450 */
    __pyx_1 = (H5TBOclose_append((&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->dataset_id),(&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->mem_type_id),((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->name,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->parent_id) < 0);
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1453 */
      __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; goto __pyx_L1;}
      __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; goto __pyx_L1;}
      Py_INCREF(__pyx_k87p);
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k87p);
      __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; goto __pyx_L1;}
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      __Pyx_Raise(__pyx_4, 0, 0);
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; goto __pyx_L1;}
      goto __pyx_L3;
    }
    __pyx_L3:;
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1455 */
  ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->_open = 0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.Table._close_append");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_n_range;
static PyObject *__pyx_n_append;
static PyObject *__pyx_n_tuple;

static PyObject *__pyx_k88p;

static char (__pyx_k88[]) = "Problems getting field format";

static PyObject *__pyx_f_13hdf5Extension_5Table__getTableInfo(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_5Table__getTableInfo[] = "Get info from a table on disk. This method is standalone.";
static PyObject *__pyx_f_13hdf5Extension_5Table__getTableInfo(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_i;
  int __pyx_v_ret;
  hsize_t __pyx_v_nrecords;
  hsize_t __pyx_v_nfields;
  hsize_t (__pyx_v_dims[1]);
  enum H5T_class_t __pyx_v_class_id;
  PyObject *__pyx_v_names;
  PyObject *__pyx_v_type_sizes;
  PyObject *__pyx_v_types;
  size_t __pyx_v_rowsize;
  char (__pyx_v_fmt[2048]);
  long __pyx_v_buflen;
  PyObject *__pyx_v_shapes;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  int __pyx_2;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);
  __pyx_v_names = Py_None; Py_INCREF(__pyx_v_names);
  __pyx_v_type_sizes = Py_None; Py_INCREF(__pyx_v_type_sizes);
  __pyx_v_types = Py_None; Py_INCREF(__pyx_v_types);
  __pyx_v_shapes = Py_None; Py_INCREF(__pyx_v_shapes);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1468 */
  __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1468; goto __pyx_L1;}
  Py_DECREF(__pyx_v_shapes);
  __pyx_v_shapes = __pyx_1;
  __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1469 */
  __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1469; goto __pyx_L1;}
  Py_DECREF(__pyx_v_type_sizes);
  __pyx_v_type_sizes = __pyx_1;
  __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1470 */
  __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1470; goto __pyx_L1;}
  Py_DECREF(__pyx_v_types);
  __pyx_v_types = __pyx_1;
  __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1471 */
  __pyx_v_ret = getfieldfmt(((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->name,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_names,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_sizes,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_offset,(&__pyx_v_rowsize),(&__pyx_v_nrecords),(&__pyx_v_nfields),__pyx_v_shapes,__pyx_v_type_sizes,__pyx_v_types,__pyx_v_fmt);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1475 */
  __pyx_2 = (__pyx_v_ret < 0);
  if (__pyx_2) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1476 */
    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1476; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1476; goto __pyx_L1;}
    Py_INCREF(__pyx_k88p);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k88p);
    __pyx_4 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1476; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_4, 0, 0);
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1476; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1479 */
  ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->fmt = __pyx_v_fmt;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1480 */
  ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->nfields = __pyx_v_nfields;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1481 */
  ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords = __pyx_v_nrecords;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1482 */
  __pyx_1 = PyInt_FromLong(__pyx_v_rowsize); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_rowsize, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1485 */
  __pyx_3 = PyList_New(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; goto __pyx_L1;}
  Py_DECREF(__pyx_v_names);
  __pyx_v_names = __pyx_3;
  __pyx_3 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1486 */
  __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_range); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; goto __pyx_L1;}
  __pyx_1 = PyLong_FromLongLong(__pyx_v_nfields); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; goto __pyx_L1;}
  __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_1);
  __pyx_1 = 0;
  __pyx_1 = PyObject_CallObject(__pyx_4, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; goto __pyx_L1;}
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_4 = PyObject_GetIter(__pyx_1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  for (;;) {
    __pyx_L3:;
    __pyx_3 = PyIter_Next(__pyx_4);
    if (!__pyx_3) {
      if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; goto __pyx_L1;}
      break;
    }
    __pyx_2 = PyInt_AsLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_v_i = __pyx_2;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1487 */
    __pyx_1 = PyObject_GetAttr(__pyx_v_names, __pyx_n_append); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1487; goto __pyx_L1;}
    __pyx_3 = PyString_FromString((((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_names[__pyx_v_i])); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1487; goto __pyx_L1;}
    __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1487; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_5, 0, __pyx_3);
    __pyx_3 = 0;
    __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_5); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1487; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
  }
  __pyx_L4:;
  Py_DECREF(__pyx_4); __pyx_4 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1488 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_tuple); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; goto __pyx_L1;}
  __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; goto __pyx_L1;}
  Py_INCREF(__pyx_v_names);
  PyTuple_SET_ITEM(__pyx_5, 0, __pyx_v_names);
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_5); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  Py_DECREF(__pyx_v_names);
  __pyx_v_names = __pyx_3;
  __pyx_3 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1491 */
  __pyx_4 = PyLong_FromLongLong(__pyx_v_nrecords); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1491; goto __pyx_L1;}
  __pyx_1 = PyInt_FromLong(__pyx_v_rowsize); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1491; goto __pyx_L1;}
  __pyx_5 = PyString_FromString(__pyx_v_fmt); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1491; goto __pyx_L1;}
  __pyx_3 = PyTuple_New(7); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1491; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
  Py_INCREF(__pyx_v_names);
  PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_names);
  PyTuple_SET_ITEM(__pyx_3, 2, __pyx_1);
  Py_INCREF(__pyx_v_type_sizes);
  PyTuple_SET_ITEM(__pyx_3, 3, __pyx_v_type_sizes);
  Py_INCREF(__pyx_v_shapes);
  PyTuple_SET_ITEM(__pyx_3, 4, __pyx_v_shapes);
  Py_INCREF(__pyx_v_types);
  PyTuple_SET_ITEM(__pyx_3, 5, __pyx_v_types);
  PyTuple_SET_ITEM(__pyx_3, 6, __pyx_5);
  __pyx_4 = 0;
  __pyx_1 = 0;
  __pyx_5 = 0;
  __pyx_r = __pyx_3;
  __pyx_3 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.Table._getTableInfo");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_names);
  Py_DECREF(__pyx_v_type_sizes);
  Py_DECREF(__pyx_v_types);
  Py_DECREF(__pyx_v_shapes);
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k89p;

static char (__pyx_k89[]) = "Problems opening table for read.";

static PyObject *__pyx_f_13hdf5Extension_5Table__open_read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Table__open_read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_recarr = 0;
  long __pyx_v_buflen;
  PyObject *__pyx_v_recarr2;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  size_t __pyx_2;
  int __pyx_3;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  static char *__pyx_argnames[] = {"recarr",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_recarr)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_recarr);
  __pyx_v_recarr2 = Py_None; Py_INCREF(__pyx_v_recarr2);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1498 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_recarr, __pyx_n__data); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1498; goto __pyx_L1;}
  __pyx_v_buflen = NA_getBufferPtrAndSize(__pyx_1,1,(&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->rbuf));
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1501 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_rowsize); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; goto __pyx_L1;}
  __pyx_2 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_3 = (H5TBOopen_read((&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->dataset_id),(&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->space_id),(&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->mem_type_id),((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->name,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->nfields,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_names,__pyx_2,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_offset) < 0);
  if (__pyx_3) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1505 */
    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1505; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1505; goto __pyx_L1;}
    Py_INCREF(__pyx_k89p);
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k89p);
    __pyx_5 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1505; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_5, 0, 0);
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1505; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.Table._open_read");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_recarr2);
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_recarr);
  return __pyx_r;
}

static PyObject *__pyx_k90p;

static char (__pyx_k90[]) = "Problems reading table column.";

static PyObject *__pyx_f_13hdf5Extension_5Table__read_field_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Table__read_field_name(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_arr = 0;
  PY_LONG_LONG __pyx_v_start;
  PY_LONG_LONG __pyx_v_stop;
  PY_LONG_LONG __pyx_v_step;
  char (*__pyx_v_field_name);
  int __pyx_v_i;
  int __pyx_v_fieldpos;
  void (*__pyx_v_rbuf);
  hsize_t __pyx_v_nrecords;
  long __pyx_v_buflen;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  int __pyx_2;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"arr","start","stop","step","field_name",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OLLLs", __pyx_argnames, &__pyx_v_arr, &__pyx_v_start, &__pyx_v_stop, &__pyx_v_step, &__pyx_v_field_name)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_arr);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1533 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_arr, __pyx_n__data); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; goto __pyx_L1;}
  __pyx_v_buflen = NA_getBufferPtrAndSize(__pyx_1,1,(&__pyx_v_rbuf));
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1536 */
  __pyx_2 = (__pyx_v_stop > ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords);
  if (__pyx_2) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1537 */
    __pyx_v_nrecords = (((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords - __pyx_v_start);
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1539 */
    __pyx_v_nrecords = (__pyx_v_stop - __pyx_v_start);
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1542 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_range); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1542; goto __pyx_L1;}
  __pyx_3 = PyLong_FromLongLong(((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->nfields); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1542; goto __pyx_L1;}
  __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1542; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
  __pyx_3 = 0;
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1542; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_1 = PyObject_GetIter(__pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1542; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  for (;;) {
    __pyx_L3:;
    __pyx_4 = PyIter_Next(__pyx_1);
    if (!__pyx_4) {
      if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1542; goto __pyx_L1;}
      break;
    }
    __pyx_2 = PyInt_AsLong(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1542; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_v_i = __pyx_2;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1543 */
    __pyx_2 = (strcmp((((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_names[__pyx_v_i]),__pyx_v_field_name) == 0);
    if (__pyx_2) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1544 */
      __pyx_v_fieldpos = __pyx_v_i;
      goto __pyx_L5;
    }
    __pyx_L5:;
  }
  __pyx_L4:;
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1546 */
  __pyx_2 = (H5TBread_fields_name(((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->name,__pyx_v_field_name,__pyx_v_start,__pyx_v_nrecords,__pyx_v_step,(((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_sizes[__pyx_v_fieldpos]),0,__pyx_v_rbuf) < 0);
  if (__pyx_2) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1549 */
    __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; goto __pyx_L1;}
    Py_INCREF(__pyx_k90p);
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k90p);
    __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_1, 0, 0);
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; goto __pyx_L1;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1551 */
  __pyx_3 = PyLong_FromLongLong(__pyx_v_nrecords); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; goto __pyx_L1;}
  __pyx_r = __pyx_3;
  __pyx_3 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.Table._read_field_name");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_arr);
  return __pyx_r;
}

static PyObject *__pyx_k91p;

static char (__pyx_k91[]) = "Problems reading table column.";

static PyObject *__pyx_f_13hdf5Extension_5Table__read_field_index(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Table__read_field_index(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_arr = 0;
  PY_LONG_LONG __pyx_v_start;
  PY_LONG_LONG __pyx_v_stop;
  int __pyx_v_index;
  int (__pyx_v_index_list[1]);
  void (*__pyx_v_rbuf);
  hsize_t __pyx_v_nrecords;
  long __pyx_v_buflen;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"arr","start","stop","index",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OLLi", __pyx_argnames, &__pyx_v_arr, &__pyx_v_start, &__pyx_v_stop, &__pyx_v_index)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_arr);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1561 */
  __pyx_1 = (__pyx_v_stop > ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1562 */
    __pyx_v_nrecords = (((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords - __pyx_v_start);
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1564 */
    __pyx_v_nrecords = (__pyx_v_stop - __pyx_v_start);
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1567 */
  __pyx_2 = PyObject_GetAttr(__pyx_v_arr, __pyx_n__data); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1567; goto __pyx_L1;}
  __pyx_v_buflen = NA_getBufferPtrAndSize(__pyx_2,1,(&__pyx_v_rbuf));
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1569 */
  (__pyx_v_index_list[0]) = __pyx_v_index;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1571 */
  __pyx_1 = (H5TBread_fields_index(((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->name,1,__pyx_v_index_list,__pyx_v_start,__pyx_v_nrecords,(((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_sizes[__pyx_v_index]),0,__pyx_v_rbuf) < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1574 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1574; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1574; goto __pyx_L1;}
    Py_INCREF(__pyx_k91p);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k91p);
    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1574; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_4, 0, 0);
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1574; goto __pyx_L1;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1576 */
  __pyx_2 = PyLong_FromLongLong(__pyx_v_nrecords); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; goto __pyx_L1;}
  __pyx_r = __pyx_2;
  __pyx_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.Table._read_field_index");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_arr);
  return __pyx_r;
}

static PyObject *__pyx_k92p;

static char (__pyx_k92[]) = "Problems reading records.";

static PyObject *__pyx_f_13hdf5Extension_5Table__read_records(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Table__read_records(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PY_LONG_LONG __pyx_v_start;
  PY_LONG_LONG __pyx_v_nrecords;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"start","nrecords",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "LL", __pyx_argnames, &__pyx_v_start, &__pyx_v_nrecords)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1581 */
  __pyx_1 = ((__pyx_v_start + __pyx_v_nrecords) > ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1582 */
    __pyx_v_nrecords = (((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords - __pyx_v_start);
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1584 */
  __pyx_1 = (H5TBOread_records((&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->dataset_id),(&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->space_id),(&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->mem_type_id),__pyx_v_start,__pyx_v_nrecords,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->rbuf) < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1587 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1587; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1587; goto __pyx_L1;}
    Py_INCREF(__pyx_k92p);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k92p);
    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1587; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_4, 0, 0);
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1587; goto __pyx_L1;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1589 */
  __pyx_2 = PyLong_FromLongLong(__pyx_v_nrecords); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1589; goto __pyx_L1;}
  __pyx_r = __pyx_2;
  __pyx_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.Table._read_records");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_n_array;
static PyObject *__pyx_n_type;

static PyObject *__pyx_k94p;

static char (__pyx_k94[]) = "Problems reading records.";

static PyObject *__pyx_f_13hdf5Extension_5Table__read_elements_orig(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Table__read_elements_orig(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  long __pyx_v_start;
  PY_LONG_LONG __pyx_v_nrecords;
  PyObject *__pyx_v_elements = 0;
  long __pyx_v_buflen;
  size_t __pyx_v_stop;
  void (*__pyx_v_coords);
  PyObject *__pyx_v_coords_array;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  int __pyx_6;
  static char *__pyx_argnames[] = {"start","nrecords","elements",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "lLO", __pyx_argnames, &__pyx_v_start, &__pyx_v_nrecords, &__pyx_v_elements)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_elements);
  __pyx_v_coords_array = Py_None; Py_INCREF(__pyx_v_coords_array);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1597 */
  __pyx_v_stop = ((size_t )(__pyx_v_start + __pyx_v_nrecords));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1598 */
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1598; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_array); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1598; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_1 = PySequence_GetSlice(__pyx_v_elements, __pyx_v_start, __pyx_v_stop); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1598; goto __pyx_L1;}
  __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1598; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_1);
  __pyx_1 = 0;
  __pyx_1 = PyDict_New(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1598; goto __pyx_L1;}
  __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1599; goto __pyx_L1;}
  __pyx_5 = PyObject_GetAttr(__pyx_4, __pyx_n_Int64); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1599; goto __pyx_L1;}
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  if (PyDict_SetItem(__pyx_1, __pyx_n_type, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1598; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_4 = PyEval_CallObjectWithKeywords(__pyx_2, __pyx_3, __pyx_1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1598; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_v_coords_array);
  __pyx_v_coords_array = __pyx_4;
  __pyx_4 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1601 */
  __pyx_5 = PyObject_GetAttr(__pyx_v_coords_array, __pyx_n__data); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1601; goto __pyx_L1;}
  __pyx_v_buflen = NA_getBufferPtrAndSize(__pyx_5,1,(&__pyx_v_coords));
  Py_DECREF(__pyx_5); __pyx_5 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1603 */
  __pyx_6 = (H5TBOread_elements((&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->dataset_id),(&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->space_id),(&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->mem_type_id),__pyx_v_nrecords,__pyx_v_coords,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->rbuf) < 0);
  if (__pyx_6) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1606 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1606; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1606; goto __pyx_L1;}
    Py_INCREF(__pyx_k94p);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k94p);
    __pyx_1 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1606; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_1, 0, 0);
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1606; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1608 */
  __pyx_4 = PyLong_FromLongLong(__pyx_v_nrecords); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1608; goto __pyx_L1;}
  __pyx_r = __pyx_4;
  __pyx_4 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.Table._read_elements_orig");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_coords_array);
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_elements);
  return __pyx_r;
}

static PyObject *__pyx_k95p;

static char (__pyx_k95[]) = "Problems closing table for read.";

static PyObject *__pyx_f_13hdf5Extension_5Table__close_read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Table__close_read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1639 */
  __pyx_1 = (H5TBOclose_read((&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->dataset_id),(&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->space_id),(&((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->mem_type_id)) < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1641 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1641; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1641; goto __pyx_L1;}
    Py_INCREF(__pyx_k95p);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k95p);
    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1641; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_4, 0, 0);
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1641; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.Table._close_read");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k96p;

static char (__pyx_k96[]) = "Problems deleting records.";

static PyObject *__pyx_f_13hdf5Extension_5Table__remove_row(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Table__remove_row(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_nrow = 0;
  PyObject *__pyx_v_nrecords = 0;
  PyObject *__pyx_r;
  hsize_t __pyx_1;
  hsize_t __pyx_2;
  PyObject *__pyx_3 = 0;
  hsize_t __pyx_4;
  int __pyx_5;
  PyObject *__pyx_6 = 0;
  static char *__pyx_argnames[] = {"nrow","nrecords",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_nrow, &__pyx_v_nrecords)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_nrow);
  Py_INCREF(__pyx_v_nrecords);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1645 */
  __pyx_1 = PyLong_AsLongLong(__pyx_v_nrow); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1645; goto __pyx_L1;}
  __pyx_2 = PyLong_AsLongLong(__pyx_v_nrecords); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1645; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n__v_maxTuples); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1646; goto __pyx_L1;}
  __pyx_4 = PyLong_AsLongLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1646; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_5 = (H5TBdelete_record(((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->name,__pyx_1,__pyx_2,__pyx_4) < 0);
  if (__pyx_5) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1648 */
    if (__Pyx_PrintItem(__pyx_k96p) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1648; goto __pyx_L1;}
    if (__Pyx_PrintNewline() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1648; goto __pyx_L1;}

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1650 */
    __pyx_3 = PyInt_FromLong(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1650; goto __pyx_L1;}
    __pyx_r = __pyx_3;
    __pyx_3 = 0;
    goto __pyx_L0;
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1652 */
    __pyx_3 = PyLong_FromLongLong(((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1652; goto __pyx_L1;}
    __pyx_6 = PyNumber_Subtract(__pyx_3, __pyx_v_nrecords); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1652; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_1 = PyLong_AsLongLong(__pyx_6); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1652; goto __pyx_L1;}
    Py_DECREF(__pyx_6); __pyx_6 = 0;
    ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->totalrecords = __pyx_1;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1654 */
    Py_INCREF(__pyx_v_nrecords);
    __pyx_r = __pyx_v_nrecords;
    goto __pyx_L0;
  }
  __pyx_L2:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_6);
  __Pyx_AddTraceback("hdf5Extension.Table._remove_row");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_nrow);
  Py_DECREF(__pyx_v_nrecords);
  return __pyx_r;
}

static void __pyx_f_13hdf5Extension_5Table___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_f_13hdf5Extension_5Table___dealloc__(PyObject *__pyx_v_self) {
  PyObject *__pyx_v_i;
  long __pyx_1;
  hsize_t __pyx_2;
  PyObject *__pyx_3 = 0;
  int __pyx_4;
  Py_INCREF(__pyx_v_self);
  __pyx_v_i = Py_None; Py_INCREF(__pyx_v_i);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1658 */
  free(((void (*))((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->name));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1659 */
  __pyx_2 = ((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->nfields;
  for (__pyx_1 = 0; __pyx_1 < __pyx_2; ++__pyx_1) {
    __pyx_3 = PyInt_FromLong(__pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1659; goto __pyx_L1;}
    Py_DECREF(__pyx_v_i);
    __pyx_v_i = __pyx_3;
    __pyx_3 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1660 */
    __pyx_4 = PyInt_AsLong(__pyx_v_i); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1660; goto __pyx_L1;}
    free(((void (*))(((struct __pyx_obj_13hdf5Extension_Table *)__pyx_v_self)->field_names[__pyx_4])));
    __pyx_L2:;
  }
  __pyx_L3:;

  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_3);
  __Pyx_AddTraceback("hdf5Extension.Table.__dealloc__");
  __pyx_L0:;
  Py_DECREF(__pyx_v_i);
  Py_DECREF(__pyx_v_self);
}

static PyObject *__pyx_n__saveBufferedRows;

static int __pyx_f_13hdf5Extension_3Row___new__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_f_13hdf5Extension_3Row___new__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_table = 0;
  int __pyx_v_nfields;
  int __pyx_v_i;
  int __pyx_r;
  PyObject *__pyx_1 = 0;
  static char *__pyx_argnames[] = {"table",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_table)) return -1;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_table);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1688 */
  Py_INCREF(__pyx_v_table);
  Py_DECREF(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table);
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table = __pyx_v_table;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1689 */
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_unsavednrows = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1690 */
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1691 */
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_nrow = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1692 */
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_r_initialized_buffer = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1693 */
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_w_initialized_buffer = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1694 */
  __pyx_1 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__saveBufferedRows); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1694; goto __pyx_L1;}
  Py_DECREF(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_saveBufferedRows);
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_saveBufferedRows = __pyx_1;
  __pyx_1 = 0;

  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  __Pyx_AddTraceback("hdf5Extension.Row.__new__");
  __pyx_r = -1;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_table);
  return __pyx_r;
}

static PyObject *__pyx_n__initLoop;
static PyObject *__pyx_n_iter;

static PyObject *__pyx_f_13hdf5Extension_3Row___call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_3Row___call__[] = " return the row for this record object and update counters";
static PyObject *__pyx_f_13hdf5Extension_3Row___call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_start = 0;
  PyObject *__pyx_v_stop = 0;
  PyObject *__pyx_v_step = 0;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  static char *__pyx_argnames[] = {"start","stop","step",0};
  __pyx_v_start = __pyx_k17;
  __pyx_v_stop = __pyx_k18;
  __pyx_v_step = __pyx_k19;
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "|OOO", __pyx_argnames, &__pyx_v_start, &__pyx_v_stop, &__pyx_v_step)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_start);
  Py_INCREF(__pyx_v_stop);
  Py_INCREF(__pyx_v_step);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1699 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n__initLoop); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1699; goto __pyx_L1;}
  __pyx_2 = PyTuple_New(3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1699; goto __pyx_L1;}
  Py_INCREF(__pyx_v_start);
  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_start);
  Py_INCREF(__pyx_v_stop);
  PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_stop);
  Py_INCREF(__pyx_v_step);
  PyTuple_SET_ITEM(__pyx_2, 2, __pyx_v_step);
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1699; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_3); __pyx_3 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1700 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_iter); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1700; goto __pyx_L1;}
  __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1700; goto __pyx_L1;}
  Py_INCREF(__pyx_v_self);
  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_self);
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1700; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_r = __pyx_3;
  __pyx_3 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  __Pyx_AddTraceback("hdf5Extension.Row.__call__");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_start);
  Py_DECREF(__pyx_v_stop);
  Py_DECREF(__pyx_v_step);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_3Row___iter__(PyObject *__pyx_v_self); /*proto*/
static char __pyx_doc_13hdf5Extension_3Row___iter__[] = "Iterator that traverses all the data in the Table";
static PyObject *__pyx_f_13hdf5Extension_3Row___iter__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1705 */
  Py_INCREF(__pyx_v_self);
  __pyx_r = __pyx_v_self;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  __Pyx_AddTraceback("hdf5Extension.Row.__iter__");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_n__newBuffer;
static PyObject *__pyx_n_init;
static PyObject *__pyx_n__v_buffer;
static PyObject *__pyx_n__v_buffercpy;
static PyObject *__pyx_n__fields;
static PyObject *__pyx_n__strides;
static PyObject *__pyx_n__nfields;
static PyObject *__pyx_n__names;
static PyObject *__pyx_n__repeats;
static PyObject *__pyx_n__fmt;


static PyObject *__pyx_f_13hdf5Extension_3Row__newBuffer(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_3Row__newBuffer[] = "Create the recarray for I/O buffering";
static PyObject *__pyx_f_13hdf5Extension_3Row__newBuffer(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_write = 0;
  PyObject *__pyx_v_buff;
  PyObject *__pyx_v_nfields;
  PyObject *__pyx_v_i;
  PyObject *__pyx_v_field;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  size_t __pyx_6;
  int __pyx_7;
  static char *__pyx_argnames[] = {"write",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_write)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_write);
  __pyx_v_buff = Py_None; Py_INCREF(__pyx_v_buff);
  __pyx_v_nfields = Py_None; Py_INCREF(__pyx_v_nfields);
  __pyx_v_i = Py_None; Py_INCREF(__pyx_v_i);
  __pyx_v_field = Py_None; Py_INCREF(__pyx_v_field);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1710 */
  __pyx_1 = PyObject_IsTrue(__pyx_v_write); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1710; goto __pyx_L1;}
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1711 */
    __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__newBuffer); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1711; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1711; goto __pyx_L1;}
    __pyx_4 = PyDict_New(); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1711; goto __pyx_L1;}
    __pyx_5 = PyInt_FromLong(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1711; goto __pyx_L1;}
    if (PyDict_SetItem(__pyx_4, __pyx_n_init, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1711; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_5 = PyEval_CallObjectWithKeywords(__pyx_2, __pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1711; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_INCREF(__pyx_5);
    Py_DECREF(__pyx_v_buff);
    __pyx_v_buff = __pyx_5;
    if (PyObject_SetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__v_buffer, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1711; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1712 */
    __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__newBuffer); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; goto __pyx_L1;}
    __pyx_4 = PyDict_New(); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; goto __pyx_L1;}
    __pyx_5 = PyInt_FromLong(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; goto __pyx_L1;}
    if (PyDict_SetItem(__pyx_4, __pyx_n_init, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_5 = PyEval_CallObjectWithKeywords(__pyx_2, __pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    if (PyObject_SetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__v_buffercpy, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1714 */
    ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_w_initialized_buffer = 1;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1715 */
    ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_r_initialized_buffer = 1;
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1717 */
    __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__newBuffer); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1717; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1717; goto __pyx_L1;}
    __pyx_4 = PyDict_New(); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1717; goto __pyx_L1;}
    __pyx_5 = PyInt_FromLong(0); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1717; goto __pyx_L1;}
    if (PyDict_SetItem(__pyx_4, __pyx_n_init, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1717; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_5 = PyEval_CallObjectWithKeywords(__pyx_2, __pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1717; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_INCREF(__pyx_5);
    Py_DECREF(__pyx_v_buff);
    __pyx_v_buff = __pyx_5;
    if (PyObject_SetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__v_buffer, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1717; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1719 */
    ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_r_initialized_buffer = 1;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1720 */
    if (PyObject_SetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__v_buffercpy, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1720; goto __pyx_L1;}

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1722 */
    ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_w_initialized_buffer = 0;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1724 */
  Py_INCREF(__pyx_v_buff);
  Py_DECREF(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_recarray);
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_recarray = __pyx_v_buff;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1725 */
  __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n_nrows); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1725; goto __pyx_L1;}
  __pyx_1 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1725; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrows = __pyx_1;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1726 */
  __pyx_3 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__v_maxTuples); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1726; goto __pyx_L1;}
  __pyx_1 = PyInt_AsLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1726; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsinbuf = __pyx_1;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1727 */
  __pyx_4 = PyObject_GetAttr(__pyx_v_buff, __pyx_n__fields); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1727; goto __pyx_L1;}
  Py_DECREF(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_fields);
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_fields = __pyx_4;
  __pyx_4 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1728 */
  __pyx_5 = PyObject_GetAttr(__pyx_v_buff, __pyx_n__strides); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1728; goto __pyx_L1;}
  __pyx_2 = PyInt_FromLong(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1728; goto __pyx_L1;}
  __pyx_3 = PyObject_GetItem(__pyx_5, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1728; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_1 = PyInt_AsLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1728; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_strides = __pyx_1;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1729 */
  __pyx_4 = PyObject_GetAttr(__pyx_v_buff, __pyx_n__nfields); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1729; goto __pyx_L1;}
  Py_DECREF(__pyx_v_nfields);
  __pyx_v_nfields = __pyx_4;
  __pyx_4 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1732 */
  __pyx_5 = PyInt_FromLong(0); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1732; goto __pyx_L1;}
  Py_DECREF(__pyx_v_i);
  __pyx_v_i = __pyx_5;
  __pyx_5 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1733 */
  __pyx_2 = PyDict_New(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1733; goto __pyx_L1;}
  Py_DECREF(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_indexes);
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_indexes = __pyx_2;
  __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1734 */
  __pyx_3 = PyInt_FromLong((sizeof(int ))); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1734; goto __pyx_L1;}
  __pyx_4 = PyNumber_Multiply(__pyx_v_nfields, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1734; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_6 = PyInt_AsLong(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1734; goto __pyx_L1;}
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_scalar = ((int (*))malloc(__pyx_6));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1735 */
  __pyx_5 = PyInt_FromLong((sizeof(int ))); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1735; goto __pyx_L1;}
  __pyx_2 = PyNumber_Multiply(__pyx_v_nfields, __pyx_5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1735; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_6 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1735; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_enumtypes = ((int (*))malloc(__pyx_6));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1736 */
  __pyx_3 = PyObject_GetAttr(__pyx_v_buff, __pyx_n__names); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1736; goto __pyx_L1;}
  __pyx_4 = PyObject_GetIter(__pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1736; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  for (;;) {
    __pyx_L3:;
    __pyx_5 = PyIter_Next(__pyx_4);
    if (!__pyx_5) {
      if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1736; goto __pyx_L1;}
      break;
    }
    Py_DECREF(__pyx_v_field);
    __pyx_v_field = __pyx_5;
    __pyx_5 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1737 */
    if (PyObject_SetItem(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_indexes, __pyx_v_field, __pyx_v_i) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1737; goto __pyx_L1;}

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1740 */
    __pyx_2 = PyObject_GetAttr(__pyx_v_buff, __pyx_n__repeats); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; goto __pyx_L1;}
    __pyx_3 = PyObject_GetItem(__pyx_2, __pyx_v_i); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_5 = PyInt_FromLong(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; goto __pyx_L1;}
    if (PyObject_Cmp(__pyx_3, __pyx_5, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; goto __pyx_L1;}
    __pyx_1 = __pyx_1 == 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1741 */
      __pyx_1 = PyInt_AsLong(__pyx_v_i); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1741; goto __pyx_L1;}
      (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_scalar[__pyx_1]) = 1;
      goto __pyx_L5;
    }
    /*else*/ {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1743 */
      __pyx_1 = PyInt_AsLong(__pyx_v_i); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1743; goto __pyx_L1;}
      (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_scalar[__pyx_1]) = 0;
    }
    __pyx_L5:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1744 */
    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_toenum); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1744; goto __pyx_L1;}
    __pyx_3 = PyObject_GetAttr(__pyx_v_buff, __pyx_n__fmt); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1744; goto __pyx_L1;}
    __pyx_5 = PyObject_GetItem(__pyx_3, __pyx_v_i); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1744; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_3 = PyObject_GetItem(__pyx_2, __pyx_5); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1744; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_1 = PyInt_AsLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1744; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_7 = PyInt_AsLong(__pyx_v_i); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1744; goto __pyx_L1;}
    (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_enumtypes[__pyx_7]) = __pyx_1;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1745 */
    __pyx_2 = PyInt_FromLong(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1745; goto __pyx_L1;}
    __pyx_5 = PyNumber_Add(__pyx_v_i, __pyx_2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1745; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_v_i);
    __pyx_v_i = __pyx_5;
    __pyx_5 = 0;
  }
  __pyx_L4:;
  Py_DECREF(__pyx_4); __pyx_4 = 0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.Row._newBuffer");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_buff);
  Py_DECREF(__pyx_v_nfields);
  Py_DECREF(__pyx_v_i);
  Py_DECREF(__pyx_v_field);
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_write);
  return __pyx_r;
}

static PyObject *__pyx_n_write;
static PyObject *__pyx_n__open_read;


static PyObject *__pyx_f_13hdf5Extension_3Row__initLoop(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_3Row__initLoop[] = "Initialization for the __iter__ iterator";
static PyObject *__pyx_f_13hdf5Extension_3Row__initLoop(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_start = 0;
  PyObject *__pyx_v_stop = 0;
  PyObject *__pyx_v_step = 0;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  static char *__pyx_argnames[] = {"start","stop","step",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OOO", __pyx_argnames, &__pyx_v_start, &__pyx_v_stop, &__pyx_v_step)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_start);
  Py_INCREF(__pyx_v_stop);
  Py_INCREF(__pyx_v_step);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1750 */
  __pyx_1 = (!((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_r_initialized_buffer);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1751 */
    __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n__newBuffer); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1751; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1751; goto __pyx_L1;}
    __pyx_4 = PyDict_New(); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1751; goto __pyx_L1;}
    __pyx_5 = PyInt_FromLong(0); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1751; goto __pyx_L1;}
    if (PyDict_SetItem(__pyx_4, __pyx_n_write, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1751; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_5 = PyEval_CallObjectWithKeywords(__pyx_2, __pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1751; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1752 */
  __pyx_1 = PyInt_AsLong(__pyx_v_start); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1752; goto __pyx_L1;}
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->start = __pyx_1;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1753 */
  __pyx_1 = PyInt_AsLong(__pyx_v_stop); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1753; goto __pyx_L1;}
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->stop = __pyx_1;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1754 */
  __pyx_1 = PyInt_AsLong(__pyx_v_step); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1754; goto __pyx_L1;}
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->step = __pyx_1;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1755 */
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->startb = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1756 */
  __pyx_1 = PyInt_AsLong(__pyx_v_start); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1756; goto __pyx_L1;}
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsread = __pyx_1;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1757 */
  __pyx_2 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->step); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1757; goto __pyx_L1;}
  __pyx_3 = PyNumber_Subtract(__pyx_v_start, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1757; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_1 = PyInt_AsLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1757; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_nrow = __pyx_1;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1758 */
  __pyx_4 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__open_read); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1758; goto __pyx_L1;}
  __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1758; goto __pyx_L1;}
  Py_INCREF(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_recarray);
  PyTuple_SET_ITEM(__pyx_5, 0, ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_recarray);
  __pyx_2 = PyObject_CallObject(__pyx_4, __pyx_5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1758; goto __pyx_L1;}
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.Row._initLoop");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_start);
  Py_DECREF(__pyx_v_stop);
  Py_DECREF(__pyx_v_step);
  return __pyx_r;
}

static PyObject *__pyx_n__close_read;
static PyObject *__pyx_n_StopIteration;
static PyObject *__pyx_n__read_records;
static PyObject *__pyx_n_byteorder;
static PyObject *__pyx_n__byteswap;

static PyObject *__pyx_f_13hdf5Extension_3Row___next__(PyObject *__pyx_v_self); /*proto*/
static char __pyx_doc_13hdf5Extension_3Row___next__[] = "next() method for __iter__() that is called on each iteration";
static PyObject *__pyx_f_13hdf5Extension_3Row___next__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1764 */
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nextelement = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_nrow + ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->step);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1765 */
  __pyx_1 = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nextelement >= ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->stop);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1766 */
    __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__close_read); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1766; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1766; goto __pyx_L1;}
    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1766; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1767 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_StopIteration); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1767; goto __pyx_L1;}
    __Pyx_Raise(__pyx_2, 0, 0);
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1767; goto __pyx_L1;}
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1769 */
    __pyx_1 = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nextelement >= ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsread);
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1771 */
      while (1) {
        __pyx_L4:;
        __pyx_1 = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nextelement >= (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsread + ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsinbuf));
        if (!__pyx_1) break;

        /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1772 */
        ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsread = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsread + ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsinbuf);
      }
      __pyx_L5:;

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1774 */
      ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->stopb = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->stop - ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsread);

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1775 */
      __pyx_1 = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->stopb > ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsinbuf);
      if (__pyx_1) {

        /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1776 */
        ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->stopb = ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsinbuf;
        goto __pyx_L6;
      }
      __pyx_L6:;

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1777 */
      ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->startb - ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->step);

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1779 */
      __pyx_3 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__read_records); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1779; goto __pyx_L1;}
      __pyx_4 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsread); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1779; goto __pyx_L1;}
      __pyx_2 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsinbuf); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1780; goto __pyx_L1;}
      __pyx_5 = PyTuple_New(2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1779; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_5, 0, __pyx_4);
      PyTuple_SET_ITEM(__pyx_5, 1, __pyx_2);
      __pyx_4 = 0;
      __pyx_2 = 0;
      __pyx_4 = PyObject_CallObject(__pyx_3, __pyx_5); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1779; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      Py_DECREF(__pyx_5); __pyx_5 = 0;
      __pyx_1 = PyInt_AsLong(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1779; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->recout = __pyx_1;

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1781 */
      ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsread = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsread + ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->recout);

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1782 */
      __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n_byteorder); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1782; goto __pyx_L1;}
      __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_sys); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1782; goto __pyx_L1;}
      __pyx_5 = PyObject_GetAttr(__pyx_3, __pyx_n_byteorder); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1782; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      if (PyObject_Cmp(__pyx_2, __pyx_5, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1782; goto __pyx_L1;}
      __pyx_1 = __pyx_1 != 0;
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      Py_DECREF(__pyx_5); __pyx_5 = 0;
      if (__pyx_1) {

        /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1783 */
        __pyx_4 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_recarray, __pyx_n__byteswap); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1783; goto __pyx_L1;}
        __pyx_3 = PyTuple_New(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1783; goto __pyx_L1;}
        __pyx_2 = PyObject_CallObject(__pyx_4, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1783; goto __pyx_L1;}
        Py_DECREF(__pyx_4); __pyx_4 = 0;
        Py_DECREF(__pyx_3); __pyx_3 = 0;
        Py_DECREF(__pyx_2); __pyx_2 = 0;
        goto __pyx_L7;
      }
      __pyx_L7:;
      goto __pyx_L3;
    }
    __pyx_L3:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1785 */
    ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row + ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->step);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1786 */
    ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_nrow = ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nextelement;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1787 */
    __pyx_1 = ((((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row + ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->step) >= ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->stopb);
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1789 */
      ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->startb = ((((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row + ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->step) % ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsinbuf);
      goto __pyx_L8;
    }
    __pyx_L8:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1791 */
    Py_INCREF(__pyx_v_self);
    __pyx_r = __pyx_v_self;
    goto __pyx_L0;
  }
  __pyx_L2:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.Row.__next__");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_3Row__fillCol(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_3Row__fillCol[] = "Read a field from a table on disk and put the result in result";
static PyObject *__pyx_f_13hdf5Extension_3Row__fillCol(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_result = 0;
  PyObject *__pyx_v_start = 0;
  PyObject *__pyx_v_stop = 0;
  PyObject *__pyx_v_step = 0;
  PyObject *__pyx_v_field = 0;
  int __pyx_v_startr;
  int __pyx_v_stopr;
  int __pyx_v_i;
  int __pyx_v_j;
  int __pyx_v_istartb;
  int __pyx_v_istopb;
  int __pyx_v_istart;
  int __pyx_v_istop;
  int __pyx_v_istep;
  int __pyx_v_inrowsinbuf;
  int __pyx_v_inextelement;
  int __pyx_v_inrowsread;
  PyObject *__pyx_v_fields;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  int __pyx_4;
  int __pyx_5;
  int __pyx_6;
  long __pyx_7;
  PyObject *__pyx_8 = 0;
  PyObject *__pyx_9 = 0;
  static char *__pyx_argnames[] = {"result","start","stop","step","field",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OOOOO", __pyx_argnames, &__pyx_v_result, &__pyx_v_start, &__pyx_v_stop, &__pyx_v_step, &__pyx_v_field)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_result);
  Py_INCREF(__pyx_v_start);
  Py_INCREF(__pyx_v_stop);
  Py_INCREF(__pyx_v_step);
  Py_INCREF(__pyx_v_field);
  __pyx_v_fields = Py_None; Py_INCREF(__pyx_v_fields);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1799 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n__initLoop); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1799; goto __pyx_L1;}
  __pyx_2 = PyTuple_New(3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1799; goto __pyx_L1;}
  Py_INCREF(__pyx_v_start);
  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_start);
  Py_INCREF(__pyx_v_stop);
  PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_stop);
  Py_INCREF(__pyx_v_step);
  PyTuple_SET_ITEM(__pyx_2, 2, __pyx_v_step);
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1799; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_3); __pyx_3 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1800 */
  __pyx_4 = ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->start;
  __pyx_5 = ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->stop;
  __pyx_6 = ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->step;
  __pyx_v_istart = __pyx_4;
  __pyx_v_istop = __pyx_5;
  __pyx_v_istep = __pyx_6;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1801 */
  __pyx_4 = ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsinbuf;
  __pyx_5 = __pyx_v_istart;
  __pyx_6 = __pyx_v_istart;
  __pyx_v_inrowsinbuf = __pyx_4;
  __pyx_v_inextelement = __pyx_5;
  __pyx_v_inrowsread = __pyx_6;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1802 */
  __pyx_4 = ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->startb;
  __pyx_7 = 0;
  __pyx_v_istartb = __pyx_4;
  __pyx_v_startr = __pyx_7;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1803 */
  __pyx_5 = PyObject_IsTrue(__pyx_v_field); if (__pyx_5 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1803; goto __pyx_L1;}
  if (__pyx_5) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1805 */
    __pyx_1 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_recarray, __pyx_n__fields); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1805; goto __pyx_L1;}
    __pyx_2 = PyObject_GetItem(__pyx_1, __pyx_v_field); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1805; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_v_fields);
    __pyx_v_fields = __pyx_2;
    __pyx_2 = 0;
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1808 */
    Py_INCREF(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_recarray);
    Py_DECREF(__pyx_v_fields);
    __pyx_v_fields = ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_recarray;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1809 */
  __pyx_v_i = __pyx_v_istart;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1810 */
  while (1) {
    __pyx_L3:;
    __pyx_6 = (__pyx_v_i < __pyx_v_istop);
    if (!__pyx_6) break;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1811 */
    __pyx_4 = (__pyx_v_inextelement >= (__pyx_v_inrowsread + __pyx_v_inrowsinbuf));
    if (__pyx_4) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1812 */
      __pyx_v_inrowsread = (__pyx_v_inrowsread + __pyx_v_inrowsinbuf);

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1813 */
      __pyx_v_i = (__pyx_v_i + __pyx_v_inrowsinbuf);

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1814 */
      goto __pyx_L3;
      goto __pyx_L5;
    }
    __pyx_L5:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1816 */
    __pyx_v_istopb = (__pyx_v_istop - __pyx_v_inrowsread);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1817 */
    __pyx_5 = (__pyx_v_istopb > __pyx_v_inrowsinbuf);
    if (__pyx_5) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1818 */
      __pyx_v_istopb = __pyx_v_inrowsinbuf;
      goto __pyx_L6;
    }
    __pyx_L6:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1819 */
    __pyx_v_stopr = ((__pyx_v_startr + (((__pyx_v_istopb - __pyx_v_istartb) - 1) / __pyx_v_istep)) + 1);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1821 */
    __pyx_3 = PyInt_FromLong(__pyx_v_inrowsread); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; goto __pyx_L1;}
    __pyx_1 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__read_records); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; goto __pyx_L1;}
    __pyx_2 = PyInt_FromLong(__pyx_v_i); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; goto __pyx_L1;}
    __pyx_8 = PyInt_FromLong(__pyx_v_inrowsinbuf); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; goto __pyx_L1;}
    __pyx_9 = PyTuple_New(2); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_9, 0, __pyx_2);
    PyTuple_SET_ITEM(__pyx_9, 1, __pyx_8);
    __pyx_2 = 0;
    __pyx_8 = 0;
    __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_9); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_9); __pyx_9 = 0;
    __pyx_8 = PyNumber_Add(__pyx_3, __pyx_2); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_6 = PyInt_AsLong(__pyx_8); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1821; goto __pyx_L1;}
    Py_DECREF(__pyx_8); __pyx_8 = 0;
    __pyx_v_inrowsread = __pyx_6;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1825 */
    __pyx_1 = PyInt_FromLong(__pyx_v_istartb); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; goto __pyx_L1;}
    __pyx_9 = PyInt_FromLong(__pyx_v_istopb); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; goto __pyx_L1;}
    __pyx_3 = PyInt_FromLong(__pyx_v_istep); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; goto __pyx_L1;}
    __pyx_2 = PySlice_New(__pyx_1, __pyx_9, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_9); __pyx_9 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_8 = PyObject_GetItem(__pyx_v_fields, __pyx_2); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    if (PySequence_SetSlice(__pyx_v_result, __pyx_v_startr, __pyx_v_stopr, __pyx_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; goto __pyx_L1;}
    Py_DECREF(__pyx_8); __pyx_8 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1827 */
    __pyx_v_startr = __pyx_v_stopr;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1828 */
    __pyx_v_j = (__pyx_v_istartb + ((((__pyx_v_istopb - __pyx_v_istartb) - 1) / __pyx_v_istep) * __pyx_v_istep));

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1829 */
    __pyx_v_istartb = ((__pyx_v_j + __pyx_v_istep) % __pyx_v_inrowsinbuf);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1830 */
    __pyx_v_inextelement = (__pyx_v_inextelement + __pyx_v_istep);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1831 */
    __pyx_v_i = (__pyx_v_i + __pyx_v_inrowsinbuf);
  }
  __pyx_L4:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1832 */
  __pyx_1 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__close_read); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; goto __pyx_L1;}
  __pyx_9 = PyTuple_New(0); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; goto __pyx_L1;}
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_9); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1832; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_9); __pyx_9 = 0;
  Py_DECREF(__pyx_3); __pyx_3 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1833 */
  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_8);
  Py_XDECREF(__pyx_9);
  __Pyx_AddTraceback("hdf5Extension.Row._fillCol");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_fields);
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_result);
  Py_DECREF(__pyx_v_start);
  Py_DECREF(__pyx_v_stop);
  Py_DECREF(__pyx_v_step);
  Py_DECREF(__pyx_v_field);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_3Row_nrow(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_3Row_nrow[] = " get the global row number for this table ";
static PyObject *__pyx_f_13hdf5Extension_3Row_nrow(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1837 */
  __pyx_1 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_nrow); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; goto __pyx_L1;}
  __pyx_r = __pyx_1;
  __pyx_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  __Pyx_AddTraceback("hdf5Extension.Row.nrow");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_3Row_append(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_3Row_append[] = "Append self object to the output buffer.\n    \n    ";
static PyObject *__pyx_f_13hdf5Extension_3Row_append(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1843 */
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row + 1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1844 */
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_unsavednrows = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_unsavednrows + 1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1846 */
  __pyx_1 = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_unsavednrows == ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->nrowsinbuf);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1848 */
    __pyx_2 = PyTuple_New(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; goto __pyx_L1;}
    __pyx_3 = PyObject_CallObject(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_saveBufferedRows, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1850 */
    __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__v_buffer); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1850; goto __pyx_L1;}
    __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n__fields); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1850; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_fields);
    ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_fields = __pyx_3;
    __pyx_3 = 0;
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1852 */
  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  __Pyx_AddTraceback("hdf5Extension.Row.append");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_3Row__setUnsavedNRows(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_3Row__setUnsavedNRows[] = " set the buffer row number for this buffer ";
static PyObject *__pyx_f_13hdf5Extension_3Row__setUnsavedNRows(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_row = 0;
  PyObject *__pyx_r;
  int __pyx_1;
  static char *__pyx_argnames[] = {"row",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_row)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_row);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1856 */
  __pyx_1 = PyInt_AsLong(__pyx_v_row); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1856; goto __pyx_L1;}
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_unsavednrows = __pyx_1;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1857 */
  __pyx_1 = PyInt_AsLong(__pyx_v_row); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1857; goto __pyx_L1;}
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row = __pyx_1;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  __Pyx_AddTraceback("hdf5Extension.Row._setUnsavedNRows");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_row);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_3Row__getUnsavedNRows(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_3Row__getUnsavedNRows[] = " get the buffer row number for this buffer ";
static PyObject *__pyx_f_13hdf5Extension_3Row__getUnsavedNRows(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1861 */
  __pyx_1 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_unsavednrows); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1861; goto __pyx_L1;}
  __pyx_r = __pyx_1;
  __pyx_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  __Pyx_AddTraceback("hdf5Extension.Row._getUnsavedNRows");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_3Row__incUnsavedNRows(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_13hdf5Extension_3Row__incUnsavedNRows[] = " set the row for this record object ";
static PyObject *__pyx_f_13hdf5Extension_3Row__incUnsavedNRows(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1865 */
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row + 1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1866 */
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_unsavednrows = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_unsavednrows + 1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1867 */
  __pyx_1 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_unsavednrows); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1867; goto __pyx_L1;}
  __pyx_r = __pyx_1;
  __pyx_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  __Pyx_AddTraceback("hdf5Extension.Row._incUnsavedNRows");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_n_copy;
static PyObject *__pyx_n_exc_info;
static PyObject *__pyx_n_KeyError;

static PyObject *__pyx_k102p;
static PyObject *__pyx_k101p;

static char (__pyx_k101[]) = "Error accessing \"%s\" field.\n %s";
static char (__pyx_k102[]) = "Error was: \"%s: %s\"";

static PyObject *__pyx_f_13hdf5Extension_3Row___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_fieldName); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_3Row___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_fieldName) {
  int __pyx_v_index;
  long __pyx_v_offset;
  PyObject *__pyx_v_arr;
  PyObject *__pyx_v_type;
  PyObject *__pyx_v_value;
  PyObject *__pyx_v_traceback;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  int __pyx_2;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_fieldName);
  __pyx_v_arr = Py_None; Py_INCREF(__pyx_v_arr);
  __pyx_v_type = Py_None; Py_INCREF(__pyx_v_type);
  __pyx_v_value = Py_None; Py_INCREF(__pyx_v_value);
  __pyx_v_traceback = Py_None; Py_INCREF(__pyx_v_traceback);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1889 */
  /*try:*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1891 */
    __pyx_1 = PyObject_GetItem(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_indexes, __pyx_v_fieldName); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1891; goto __pyx_L2;}
    __pyx_2 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1891; goto __pyx_L2;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_v_index = __pyx_2;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1892 */
    __pyx_2 = ((((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_enumtypes[__pyx_v_index]) != __pyx_e_13hdf5Extension_CHARTYPE);
    if (__pyx_2) {
      __pyx_2 = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_scalar[__pyx_v_index]);
    }
    if (__pyx_2) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1902 */
      __pyx_v_offset = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row * ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_strides);

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1903 */
      __pyx_1 = PyObject_GetItem(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_fields, __pyx_v_fieldName); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; goto __pyx_L2;}
      if (!__Pyx_TypeTest(__pyx_1, __pyx_ptype_13hdf5Extension__numarray)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; goto __pyx_L2;}
      __pyx_3 = NA_getPythonScalar(((PyArrayObject *)__pyx_1),__pyx_v_offset); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; goto __pyx_L2;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      __pyx_r = __pyx_3;
      __pyx_3 = 0;
      goto __pyx_L0;
      goto __pyx_L4;
    }
    __pyx_2 = ((((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_enumtypes[__pyx_v_index]) == __pyx_e_13hdf5Extension_CHARTYPE);
    if (__pyx_2) {
      __pyx_2 = (((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_scalar[__pyx_v_index]);
    }
    if (__pyx_2) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1908 */
      __pyx_1 = PyObject_GetItem(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_fields, __pyx_v_fieldName); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1908; goto __pyx_L2;}
      __pyx_3 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1908; goto __pyx_L2;}
      __pyx_4 = PyObject_GetItem(__pyx_1, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1908; goto __pyx_L2;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      __pyx_r = __pyx_4;
      __pyx_4 = 0;
      goto __pyx_L0;
      goto __pyx_L4;
    }
    /*else*/ {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1913 */
      __pyx_1 = PyObject_GetItem(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_fields, __pyx_v_fieldName); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; goto __pyx_L2;}
      __pyx_3 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; goto __pyx_L2;}
      __pyx_4 = PyObject_GetItem(__pyx_1, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; goto __pyx_L2;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      __pyx_1 = PyObject_GetAttr(__pyx_4, __pyx_n_copy); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; goto __pyx_L2;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      __pyx_3 = PyTuple_New(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; goto __pyx_L2;}
      __pyx_4 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; goto __pyx_L2;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      Py_DECREF(__pyx_v_arr);
      __pyx_v_arr = __pyx_4;
      __pyx_4 = 0;

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1914 */
      Py_INCREF(__pyx_v_arr);
      __pyx_r = __pyx_v_arr;
      goto __pyx_L0;
    }
    __pyx_L4:;
  }
  goto __pyx_L3;
  __pyx_L2:;
  Py_XDECREF(__pyx_1); __pyx_1 = 0;
  Py_XDECREF(__pyx_3); __pyx_3 = 0;
  Py_XDECREF(__pyx_4); __pyx_4 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1915 */
  /*except:*/ {
    __Pyx_AddTraceback("hdf5Extension.__getitem__");
    __pyx_1 = __Pyx_GetExcValue(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1915; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1916 */
    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_sys); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; goto __pyx_L1;}
    __pyx_4 = PyObject_GetAttr(__pyx_3, __pyx_n_exc_info); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_1 = PyTuple_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; goto __pyx_L1;}
    __pyx_3 = PyObject_CallObject(__pyx_4, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_4 = __Pyx_UnpackItem(__pyx_3, 0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; goto __pyx_L1;}
    Py_DECREF(__pyx_v_type);
    __pyx_v_type = __pyx_4;
    __pyx_4 = 0;
    __pyx_1 = __Pyx_UnpackItem(__pyx_3, 1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; goto __pyx_L1;}
    Py_DECREF(__pyx_v_value);
    __pyx_v_value = __pyx_1;
    __pyx_1 = 0;
    __pyx_5 = __Pyx_UnpackItem(__pyx_3, 2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; goto __pyx_L1;}
    Py_DECREF(__pyx_v_traceback);
    __pyx_v_traceback = __pyx_5;
    __pyx_5 = 0;
    if (__Pyx_EndUnpack(__pyx_3, 3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1917 */
    __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_KeyError); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1917; goto __pyx_L1;}
    __pyx_1 = PyTuple_New(2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1918; goto __pyx_L1;}
    Py_INCREF(__pyx_v_type);
    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_type);
    Py_INCREF(__pyx_v_value);
    PyTuple_SET_ITEM(__pyx_1, 1, __pyx_v_value);
    __pyx_5 = PyNumber_Remainder(__pyx_k102p, __pyx_1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1918; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1918; goto __pyx_L1;}
    Py_INCREF(__pyx_v_fieldName);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_fieldName);
    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_5);
    __pyx_5 = 0;
    __pyx_1 = PyNumber_Remainder(__pyx_k101p, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1917; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_4, __pyx_1, 0);
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1917; goto __pyx_L1;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.Row.__getitem__");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_arr);
  Py_DECREF(__pyx_v_type);
  Py_DECREF(__pyx_v_value);
  Py_DECREF(__pyx_v_traceback);
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_fieldName);
  return __pyx_r;
}

static PyObject *__pyx_k105p;
static PyObject *__pyx_k104p;

static char (__pyx_k104[]) = "Error setting \"%s\" field.\n %s";
static char (__pyx_k105[]) = "Error was: \"%s: %s\"";

static int __pyx_f_13hdf5Extension_3Row___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_fieldName, PyObject *__pyx_v_value); /*proto*/
static int __pyx_f_13hdf5Extension_3Row___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_fieldName, PyObject *__pyx_v_value) {
  PyObject *__pyx_v_type;
  PyObject *__pyx_v_traceback;
  int __pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_fieldName);
  Py_INCREF(__pyx_v_value);
  __pyx_v_type = Py_None; Py_INCREF(__pyx_v_type);
  __pyx_v_traceback = Py_None; Py_INCREF(__pyx_v_traceback);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1923 */
  __pyx_1 = (!((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_w_initialized_buffer);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1925 */
    __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n__newBuffer); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; goto __pyx_L1;}
    __pyx_4 = PyDict_New(); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; goto __pyx_L1;}
    __pyx_5 = PyInt_FromLong(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; goto __pyx_L1;}
    if (PyDict_SetItem(__pyx_4, __pyx_n_write, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_5 = PyEval_CallObjectWithKeywords(__pyx_2, __pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1927 */
  /*try:*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1928 */
    __pyx_2 = PyObject_GetItem(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_fields, __pyx_v_fieldName); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1928; goto __pyx_L3;}
    __pyx_3 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_unsavednrows); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1928; goto __pyx_L3;}
    if (PyObject_SetItem(__pyx_2, __pyx_3, __pyx_v_value) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1928; goto __pyx_L3;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
  }
  goto __pyx_L4;
  __pyx_L3:;
  Py_XDECREF(__pyx_4); __pyx_4 = 0;
  Py_XDECREF(__pyx_5); __pyx_5 = 0;
  Py_XDECREF(__pyx_2); __pyx_2 = 0;
  Py_XDECREF(__pyx_3); __pyx_3 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1929 */
  /*except:*/ {
    __Pyx_AddTraceback("hdf5Extension.__setitem__");
    __pyx_4 = __Pyx_GetExcValue(); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1929; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1930 */
    __pyx_5 = __Pyx_GetName(__pyx_m, __pyx_n_sys); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1930; goto __pyx_L1;}
    __pyx_2 = PyObject_GetAttr(__pyx_5, __pyx_n_exc_info); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1930; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_3 = PyTuple_New(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1930; goto __pyx_L1;}
    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1930; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_5 = __Pyx_UnpackItem(__pyx_4, 0); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1930; goto __pyx_L1;}
    Py_DECREF(__pyx_v_type);
    __pyx_v_type = __pyx_5;
    __pyx_5 = 0;
    __pyx_2 = __Pyx_UnpackItem(__pyx_4, 1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1930; goto __pyx_L1;}
    Py_DECREF(__pyx_v_value);
    __pyx_v_value = __pyx_2;
    __pyx_2 = 0;
    __pyx_3 = __Pyx_UnpackItem(__pyx_4, 2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1930; goto __pyx_L1;}
    Py_DECREF(__pyx_v_traceback);
    __pyx_v_traceback = __pyx_3;
    __pyx_3 = 0;
    if (__Pyx_EndUnpack(__pyx_4, 3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1930; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1931 */
    __pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_KeyError); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1931; goto __pyx_L1;}
    __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1932; goto __pyx_L1;}
    Py_INCREF(__pyx_v_type);
    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_type);
    Py_INCREF(__pyx_v_value);
    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_value);
    __pyx_3 = PyNumber_Remainder(__pyx_k105p, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1932; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1932; goto __pyx_L1;}
    Py_INCREF(__pyx_v_fieldName);
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_fieldName);
    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_3);
    __pyx_3 = 0;
    __pyx_2 = PyNumber_Remainder(__pyx_k104p, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1931; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_5, __pyx_2, 0);
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1931; goto __pyx_L1;}
    goto __pyx_L4;
  }
  __pyx_L4:;

  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.Row.__setitem__");
  __pyx_r = -1;
  __pyx_L0:;
  Py_DECREF(__pyx_v_type);
  Py_DECREF(__pyx_v_traceback);
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_fieldName);
  Py_DECREF(__pyx_v_value);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_3Row__cleanup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_3Row__cleanup(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_r;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1936 */
  Py_INCREF(Py_None);
  Py_DECREF(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_fields);
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_fields = Py_None;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1937 */
  if (PyObject_SetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__v_buffer, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1937; goto __pyx_L1;}

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1938 */
  if (PyObject_SetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_table, __pyx_n__v_buffercpy, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1938; goto __pyx_L1;}

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1940 */
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_r_initialized_buffer = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1941 */
  ((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_w_initialized_buffer = 0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  __Pyx_AddTraceback("hdf5Extension.Row._cleanup");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_n_join;

static PyObject *__pyx_k107p;
static PyObject *__pyx_k106p;
static PyObject *__pyx_k108p;

static char (__pyx_k106[]) = "(";
static char (__pyx_k107[]) = ", ";
static char (__pyx_k108[]) = ")";

static PyObject *__pyx_f_13hdf5Extension_3Row___str__(PyObject *__pyx_v_self); /*proto*/
static char __pyx_doc_13hdf5Extension_3Row___str__[] = " represent the record as an string ";
static PyObject *__pyx_f_13hdf5Extension_3Row___str__(PyObject *__pyx_v_self) {
  PyObject *__pyx_v_outlist;
  PyObject *__pyx_v_name;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  Py_INCREF(__pyx_v_self);
  __pyx_v_outlist = Py_None; Py_INCREF(__pyx_v_outlist);
  __pyx_v_name = Py_None; Py_INCREF(__pyx_v_name);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1946 */
  __pyx_1 = PyList_New(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1946; goto __pyx_L1;}
  Py_DECREF(__pyx_v_outlist);
  __pyx_v_outlist = __pyx_1;
  __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1947 */
  __pyx_1 = PyObject_GetAttr(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_recarray, __pyx_n__names); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1947; goto __pyx_L1;}
  __pyx_2 = PyObject_GetIter(__pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1947; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  for (;;) {
    __pyx_L2:;
    __pyx_1 = PyIter_Next(__pyx_2);
    if (!__pyx_1) {
      if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1947; goto __pyx_L1;}
      break;
    }
    Py_DECREF(__pyx_v_name);
    __pyx_v_name = __pyx_1;
    __pyx_1 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1948 */
    __pyx_1 = PyObject_GetAttr(__pyx_v_outlist, __pyx_n_append); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1948; goto __pyx_L1;}
    __pyx_3 = PyObject_GetItem(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_fields, __pyx_v_name); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1948; goto __pyx_L1;}
    __pyx_4 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_row); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1948; goto __pyx_L1;}
    __pyx_5 = PyObject_GetItem(__pyx_3, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1948; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_3 = PyObject_Repr(__pyx_5); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1948; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1948; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    __pyx_3 = 0;
    __pyx_5 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1948; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
  }
  __pyx_L3:;
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1949 */
  __pyx_3 = PyObject_GetAttr(__pyx_k107p, __pyx_n_join); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1949; goto __pyx_L1;}
  __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1949; goto __pyx_L1;}
  Py_INCREF(__pyx_v_outlist);
  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_outlist);
  __pyx_4 = PyObject_CallObject(__pyx_3, __pyx_1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1949; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_5 = PyNumber_Add(__pyx_k106p, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1949; goto __pyx_L1;}
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_2 = PyNumber_Add(__pyx_5, __pyx_k108p); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1949; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_r = __pyx_2;
  __pyx_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.Row.__str__");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_outlist);
  Py_DECREF(__pyx_v_name);
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_n_str;

static PyObject *__pyx_f_13hdf5Extension_3Row___repr__(PyObject *__pyx_v_self); /*proto*/
static char __pyx_doc_13hdf5Extension_3Row___repr__[] = " represent the record as an string ";
static PyObject *__pyx_f_13hdf5Extension_3Row___repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1954 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_str); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1954; goto __pyx_L1;}
  __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1954; goto __pyx_L1;}
  Py_INCREF(__pyx_v_self);
  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_self);
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1954; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_r = __pyx_3;
  __pyx_3 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  __Pyx_AddTraceback("hdf5Extension.Row.__repr__");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static void __pyx_f_13hdf5Extension_3Row___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_f_13hdf5Extension_3Row___dealloc__(PyObject *__pyx_v_self) {
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1958 */
  free(((void (*))((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_scalar));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1959 */
  free(((void (*))((struct __pyx_obj_13hdf5Extension_Row *)__pyx_v_self)->_enumtypes));

  goto __pyx_L0;
  __pyx_L1:;
  __Pyx_AddTraceback("hdf5Extension.Row.__dealloc__");
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
}

static PyObject *__pyx_f_13hdf5Extension_5Array__g_new(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Array__g_new(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_where = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_r;
  char (*__pyx_1);
  PyObject *__pyx_2 = 0;
  hid_t __pyx_3;
  static char *__pyx_argnames[] = {"where","name",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_where, &__pyx_v_name)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_where);
  Py_INCREF(__pyx_v_name);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1973 */
  __pyx_1 = PyString_AsString(__pyx_v_name); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1973; goto __pyx_L1;}
  ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->name = strdup(__pyx_1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1975 */
  __pyx_2 = PyObject_GetAttr(__pyx_v_where, __pyx_n__v_objectID); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1975; goto __pyx_L1;}
  __pyx_3 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1975; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->parent_id = __pyx_3;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  __Pyx_AddTraceback("hdf5Extension.Array._g_new");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_where);
  Py_DECREF(__pyx_v_name);
  return __pyx_r;
}

static PyObject *__pyx_n_CharArray;
static PyObject *__pyx_n__type;
static PyObject *__pyx_n_TypeError;
static PyObject *__pyx_n_repr;
static PyObject *__pyx_n__itemsize;
static PyObject *__pyx_n_shape;
static PyObject *__pyx_n_flavor;
static PyObject *__pyx_n_complib;
static PyObject *__pyx_n__v_version;
static PyObject *__pyx_n_extdim;

static PyObject *__pyx_k109p;
static PyObject *__pyx_k110p;
static PyObject *__pyx_k111p;

static char (__pyx_k109[]) = "Type class \'%s\' not supported rigth now. Sorry about that.\n      ";
static char (__pyx_k110[]) = "type \'%s\' is not supported right now. Sorry about that.";
static char (__pyx_k111[]) = "Problems creating the EArray.";

static PyObject *__pyx_f_13hdf5Extension_5Array__createArray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Array__createArray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_naarr = 0;
  char (*__pyx_v_title);
  int __pyx_v_i;
  herr_t __pyx_v_ret;
  hid_t __pyx_v_oid;
  void (*__pyx_v_rbuf);
  long __pyx_v_buflen;
  int __pyx_v_itemsize;
  int __pyx_v_offset;
  char (*__pyx_v_byteorder);
  char (*__pyx_v_flavor);
  char (*__pyx_v_complib);
  char (*__pyx_v_version);
  int __pyx_v_extdim;
  PyObject *__pyx_v_type;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  int __pyx_4;
  PyObject *__pyx_5 = 0;
  hsize_t __pyx_6;
  int __pyx_7;
  int __pyx_8;
  int __pyx_9;
  static char *__pyx_argnames[] = {"naarr","title",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "Os", __pyx_argnames, &__pyx_v_naarr, &__pyx_v_title)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_naarr);
  __pyx_v_type = Py_None; Py_INCREF(__pyx_v_type);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1990 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_isinstance); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1990; goto __pyx_L1;}
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_strings); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1990; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_CharArray); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1990; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1990; goto __pyx_L1;}
  Py_INCREF(__pyx_v_naarr);
  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_naarr);
  PyTuple_SET_ITEM(__pyx_2, 1, __pyx_3);
  __pyx_3 = 0;
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1990; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_4 = PyObject_IsTrue(__pyx_3); if (__pyx_4 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1990; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1991 */
    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_CharType); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1991; goto __pyx_L1;}
    Py_DECREF(__pyx_v_type);
    __pyx_v_type = __pyx_1;
    __pyx_1 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1992 */
    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_toenum); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1992; goto __pyx_L1;}
    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_CharType); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1992; goto __pyx_L1;}
    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1992; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_4 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1992; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->enumtype = __pyx_4;
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1994 */
    __pyx_2 = PyObject_GetAttr(__pyx_v_naarr, __pyx_n__type); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1994; goto __pyx_L1;}
    Py_DECREF(__pyx_v_type);
    __pyx_v_type = __pyx_2;
    __pyx_2 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1995 */
    /*try:*/ {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1996 */
      __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_toenum); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1996; goto __pyx_L3;}
      __pyx_1 = PyObject_GetAttr(__pyx_v_naarr, __pyx_n__type); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1996; goto __pyx_L3;}
      __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1996; goto __pyx_L3;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      __pyx_4 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1996; goto __pyx_L3;}
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->enumtype = __pyx_4;
    }
    goto __pyx_L4;
    __pyx_L3:;
    Py_XDECREF(__pyx_3); __pyx_3 = 0;
    Py_XDECREF(__pyx_1); __pyx_1 = 0;
    Py_XDECREF(__pyx_2); __pyx_2 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1997 */
    __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_KeyError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1997; goto __pyx_L1;}
    __pyx_4 = PyErr_ExceptionMatches(__pyx_3);
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    if (__pyx_4) {
      __Pyx_AddTraceback("hdf5Extension._createArray");
      __pyx_1 = __Pyx_GetExcValue(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1997; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1998 */
      __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1998; goto __pyx_L1;}
      __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_repr); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2000; goto __pyx_L1;}
      __pyx_1 = PyObject_GetAttr(__pyx_v_naarr, __pyx_n__type); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2000; goto __pyx_L1;}
      __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2000; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_5, 0, __pyx_1);
      __pyx_1 = 0;
      __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_5); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2000; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      Py_DECREF(__pyx_5); __pyx_5 = 0;
      __pyx_3 = PyNumber_Remainder(__pyx_k109p, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2000; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      __Pyx_Raise(__pyx_2, __pyx_3, 0);
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1998; goto __pyx_L1;}
      goto __pyx_L4;
    }
    goto __pyx_L1;
    __pyx_L4:;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2002 */
  __pyx_5 = PyObject_GetAttr(__pyx_v_naarr, __pyx_n__itemsize); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2002; goto __pyx_L1;}
  __pyx_4 = PyInt_AsLong(__pyx_5); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2002; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_v_itemsize = __pyx_4;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2003 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_byteorder); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2003; goto __pyx_L1;}
  __pyx_v_byteorder = PyString_AsString(__pyx_1);
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2004 */
  ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->type_id = convArrayType(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->enumtype,__pyx_v_itemsize,__pyx_v_byteorder);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2005 */
  __pyx_4 = (((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->type_id < 0);
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2006 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2006; goto __pyx_L1;}
    __pyx_3 = PyNumber_Remainder(__pyx_k110p, __pyx_v_type); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2008; goto __pyx_L1;}
    __Pyx_Raise(__pyx_2, __pyx_3, 0);
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2006; goto __pyx_L1;}
    goto __pyx_L5;
  }
  __pyx_L5:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2012 */
  __pyx_5 = PyObject_GetAttr(__pyx_v_naarr, __pyx_n__data); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2012; goto __pyx_L1;}
  __pyx_v_buflen = NA_getBufferPtrAndSize(__pyx_5,1,(&__pyx_v_rbuf));
  Py_DECREF(__pyx_5); __pyx_5 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2018 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_naarr, __pyx_n__byteoffset); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2018; goto __pyx_L1;}
  __pyx_4 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2018; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_v_offset = __pyx_4;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2019 */
  __pyx_v_rbuf = ((void (*))(((char (*))__pyx_v_rbuf) + __pyx_v_offset));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2022 */
  __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_len); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2022; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_v_naarr, __pyx_n_shape); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2022; goto __pyx_L1;}
  __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2022; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_5, 0, __pyx_3);
  __pyx_3 = 0;
  __pyx_1 = PyObject_CallObject(__pyx_2, __pyx_5); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2022; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_4 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2022; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->rank = __pyx_4;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2023 */
  ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->dims = ((hsize_t (*))malloc((((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->rank * (sizeof(hsize_t )))));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2025 */
  __pyx_4 = ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->rank;
  for (__pyx_v_i = 0; __pyx_v_i < __pyx_4; ++__pyx_v_i) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2026 */
    __pyx_3 = PyObject_GetAttr(__pyx_v_naarr, __pyx_n_shape); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2026; goto __pyx_L1;}
    __pyx_2 = PyInt_FromLong(__pyx_v_i); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2026; goto __pyx_L1;}
    __pyx_5 = PyObject_GetItem(__pyx_3, __pyx_2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2026; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_6 = PyLong_AsLongLong(__pyx_5); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2026; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    (((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->dims[__pyx_v_i]) = __pyx_6;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2027 */
    __pyx_7 = ((((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->dims[__pyx_v_i]) == 0);
    if (__pyx_7) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2029 */
      __pyx_v_rbuf = 0;
      goto __pyx_L8;
    }
    __pyx_L8:;
    __pyx_L6:;
  }
  __pyx_L7:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2032 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_flavor); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2032; goto __pyx_L1;}
  __pyx_v_flavor = PyString_AsString(__pyx_1);
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2033 */
  __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2033; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_3, __pyx_n_complib); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2033; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_v_complib = PyString_AsString(__pyx_2);
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2034 */
  __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n__v_version); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2034; goto __pyx_L1;}
  __pyx_v_version = PyString_AsString(__pyx_5);
  Py_DECREF(__pyx_5); __pyx_5 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2035 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_extdim); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2036; goto __pyx_L1;}
  __pyx_7 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2036; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n__v_maxTuples); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2037; goto __pyx_L1;}
  __pyx_6 = PyLong_AsLongLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2037; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2038; goto __pyx_L1;}
  __pyx_5 = PyObject_GetAttr(__pyx_2, __pyx_n_complevel); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2038; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_4 = PyInt_AsLong(__pyx_5); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2038; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2039; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_1, __pyx_n_shuffle); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2039; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_8 = PyInt_AsLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2039; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2039; goto __pyx_L1;}
  __pyx_5 = PyObject_GetAttr(__pyx_2, __pyx_n_fletcher32); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2039; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_9 = PyInt_AsLong(__pyx_5); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2039; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_v_oid = H5ARRAYmake(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->name,__pyx_v_title,__pyx_v_flavor,__pyx_v_version,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->rank,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->dims,__pyx_7,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->type_id,__pyx_6,__pyx_v_rbuf,__pyx_4,__pyx_v_complib,__pyx_8,__pyx_9,__pyx_v_rbuf);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2041 */
  __pyx_7 = (__pyx_v_oid < 0);
  if (__pyx_7) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2042 */
    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2042; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2042; goto __pyx_L1;}
    Py_INCREF(__pyx_k111p);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k111p);
    __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2042; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_2, 0, 0);
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2042; goto __pyx_L1;}
    goto __pyx_L9;
  }
  __pyx_L9:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2043 */
  __pyx_5 = PyInt_FromLong(__pyx_v_oid); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2043; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_objectID, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2043; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2044 */
  H5Tclose(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->type_id);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2046 */
  Py_INCREF(__pyx_v_type);
  __pyx_r = __pyx_v_type;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.Array._createArray");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_type);
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_naarr);
  return __pyx_r;
}

static PyObject *__pyx_n_atom;
static PyObject *__pyx_n_itemsize;

static PyObject *__pyx_k112p;
static PyObject *__pyx_k113p;
static PyObject *__pyx_k114p;

static char (__pyx_k112[]) = "Type class \'%s\' not supported rigth now. Sorry about that.\n            ";
static char (__pyx_k113[]) = "type \'%s\' is not supported right now. Sorry about that.";
static char (__pyx_k114[]) = "Problems creating the EArray.";

static PyObject *__pyx_f_13hdf5Extension_5Array__createEArray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Array__createEArray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_title);
  int __pyx_v_i;
  herr_t __pyx_v_ret;
  hid_t __pyx_v_oid;
  void (*__pyx_v_rbuf);
  char (*__pyx_v_byteorder);
  char (*__pyx_v_flavor);
  char (*__pyx_v_complib);
  char (*__pyx_v_version);
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  int __pyx_4;
  PyObject *__pyx_5 = 0;
  size_t __pyx_6;
  hsize_t __pyx_7;
  int __pyx_8;
  int __pyx_9;
  int __pyx_10;
  static char *__pyx_argnames[] = {"title",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "s", __pyx_argnames, &__pyx_v_title)) return 0;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2056 */
  /*try:*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2057 */
    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_toenum); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2057; goto __pyx_L2;}
    __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_type); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2057; goto __pyx_L2;}
    __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2057; goto __pyx_L2;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_4 = PyInt_AsLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2057; goto __pyx_L2;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->enumtype = __pyx_4;
  }
  goto __pyx_L3;
  __pyx_L2:;
  Py_XDECREF(__pyx_1); __pyx_1 = 0;
  Py_XDECREF(__pyx_2); __pyx_2 = 0;
  Py_XDECREF(__pyx_3); __pyx_3 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2058 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_KeyError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2058; goto __pyx_L1;}
  __pyx_4 = PyErr_ExceptionMatches(__pyx_1);
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  if (__pyx_4) {
    __Pyx_AddTraceback("hdf5Extension._createEArray");
    __pyx_2 = __Pyx_GetExcValue(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2058; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2059 */
    __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2059; goto __pyx_L1;}
    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_repr); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2061; goto __pyx_L1;}
    __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_type); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2061; goto __pyx_L1;}
    __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2061; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_5, 0, __pyx_2);
    __pyx_2 = 0;
    __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2061; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_1 = PyNumber_Remainder(__pyx_k112p, __pyx_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2061; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __Pyx_Raise(__pyx_3, __pyx_1, 0);
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2059; goto __pyx_L1;}
    goto __pyx_L3;
  }
  goto __pyx_L1;
  __pyx_L3:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2063 */
  __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_byteorder); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2063; goto __pyx_L1;}
  __pyx_v_byteorder = PyString_AsString(__pyx_5);
  Py_DECREF(__pyx_5); __pyx_5 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2064 */
  __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_atom); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2064; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_itemsize); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2064; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_6 = PyInt_AsLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2064; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->type_id = convArrayType(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->enumtype,__pyx_6,__pyx_v_byteorder);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2065 */
  __pyx_4 = (((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->type_id < 0);
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2066 */
    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2066; goto __pyx_L1;}
    __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_type); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2068; goto __pyx_L1;}
    __pyx_2 = PyNumber_Remainder(__pyx_k113p, __pyx_5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2068; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __Pyx_Raise(__pyx_1, __pyx_2, 0);
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2066; goto __pyx_L1;}
    goto __pyx_L4;
  }
  __pyx_L4:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2070 */
  __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_len); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2070; goto __pyx_L1;}
  __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_shape); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2070; goto __pyx_L1;}
  __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2070; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_5);
  __pyx_5 = 0;
  __pyx_2 = PyObject_CallObject(__pyx_3, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2070; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_4 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2070; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->rank = __pyx_4;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2071 */
  ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->dims = ((hsize_t (*))malloc((((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->rank * (sizeof(hsize_t )))));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2073 */
  __pyx_4 = ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->rank;
  for (__pyx_v_i = 0; __pyx_v_i < __pyx_4; ++__pyx_v_i) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2074 */
    __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_shape); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2074; goto __pyx_L1;}
    __pyx_3 = PyInt_FromLong(__pyx_v_i); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2074; goto __pyx_L1;}
    __pyx_1 = PyObject_GetItem(__pyx_5, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2074; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_7 = PyLong_AsLongLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2074; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    (((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->dims[__pyx_v_i]) = __pyx_7;
    __pyx_L5:;
  }
  __pyx_L6:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2076 */
  __pyx_v_rbuf = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2078 */
  __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_atom); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2078; goto __pyx_L1;}
  __pyx_5 = PyObject_GetAttr(__pyx_2, __pyx_n_flavor); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2078; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_v_flavor = PyString_AsString(__pyx_5);
  Py_DECREF(__pyx_5); __pyx_5 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2079 */
  __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2079; goto __pyx_L1;}
  __pyx_1 = PyObject_GetAttr(__pyx_3, __pyx_n_complib); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2079; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_v_complib = PyString_AsString(__pyx_1);
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2080 */
  __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n__v_version); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2080; goto __pyx_L1;}
  __pyx_v_version = PyString_AsString(__pyx_2);
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2082 */
  __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_extdim); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2083; goto __pyx_L1;}
  __pyx_4 = PyInt_AsLong(__pyx_5); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2083; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n__v_maxTuples); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2084; goto __pyx_L1;}
  __pyx_7 = PyLong_AsLongLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2084; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2085; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_complevel); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2085; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_8 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2085; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2086; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_5, __pyx_n_shuffle); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2086; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_9 = PyInt_AsLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2086; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2086; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_fletcher32); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2086; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_10 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2086; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_v_oid = H5ARRAYmake(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->name,__pyx_v_title,__pyx_v_flavor,__pyx_v_version,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->rank,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->dims,__pyx_4,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->type_id,__pyx_7,__pyx_v_rbuf,__pyx_8,__pyx_v_complib,__pyx_9,__pyx_10,__pyx_v_rbuf);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2088 */
  __pyx_4 = (__pyx_v_oid < 0);
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2089 */
    __pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2089; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2089; goto __pyx_L1;}
    Py_INCREF(__pyx_k114p);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k114p);
    __pyx_1 = PyObject_CallObject(__pyx_5, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2089; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_1, 0, 0);
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2089; goto __pyx_L1;}
    goto __pyx_L7;
  }
  __pyx_L7:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2090 */
  __pyx_2 = PyInt_FromLong(__pyx_v_oid); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2090; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_objectID, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2090; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2091 */
  H5Tclose(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->type_id);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2093 */
  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.Array._createEArray");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_n_list;

static PyObject *__pyx_k115p;

static char (__pyx_k115[]) = "Problems appending the records.";

static PyObject *__pyx_f_13hdf5Extension_5Array__append(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Array__append(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_naarr = 0;
  int __pyx_v_ret;
  int __pyx_v_rank;
  hsize_t (*__pyx_v_dims_arr);
  void (*__pyx_v_rbuf);
  long __pyx_v_buflen;
  long __pyx_v_offset;
  PyObject *__pyx_v_shape;
  PyObject *__pyx_v_i;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  int __pyx_4;
  long __pyx_5;
  hsize_t __pyx_6;
  static char *__pyx_argnames[] = {"naarr",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_naarr)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_naarr);
  __pyx_v_shape = Py_None; Py_INCREF(__pyx_v_shape);
  __pyx_v_i = Py_None; Py_INCREF(__pyx_v_i);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2103 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_len); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2103; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_v_naarr, __pyx_n_shape); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2103; goto __pyx_L1;}
  __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2103; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
  __pyx_2 = 0;
  __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2103; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_4 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2103; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_v_rank = __pyx_4;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2104 */
  __pyx_v_dims_arr = ((hsize_t (*))malloc((__pyx_v_rank * (sizeof(hsize_t )))));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2106 */
  for (__pyx_5 = 0; __pyx_5 < __pyx_v_rank; ++__pyx_5) {
    __pyx_1 = PyInt_FromLong(__pyx_5); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2106; goto __pyx_L1;}
    Py_DECREF(__pyx_v_i);
    __pyx_v_i = __pyx_1;
    __pyx_1 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2107 */
    __pyx_3 = PyObject_GetAttr(__pyx_v_naarr, __pyx_n_shape); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2107; goto __pyx_L1;}
    __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_v_i); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2107; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_6 = PyLong_AsLongLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2107; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_4 = PyInt_AsLong(__pyx_v_i); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2107; goto __pyx_L1;}
    (__pyx_v_dims_arr[__pyx_4]) = __pyx_6;
    __pyx_L2:;
  }
  __pyx_L3:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2110 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_naarr, __pyx_n__data); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2110; goto __pyx_L1;}
  __pyx_v_buflen = NA_getBufferPtrAndSize(__pyx_1,1,(&__pyx_v_rbuf));
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2112 */
  __pyx_3 = PyObject_GetAttr(__pyx_v_naarr, __pyx_n__byteoffset); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; goto __pyx_L1;}
  __pyx_5 = PyInt_AsLong(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2112; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_v_offset = __pyx_5;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2113 */
  __pyx_v_rbuf = ((void (*))(((char (*))__pyx_v_rbuf) + __pyx_v_offset));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2116 */
  __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_extdim); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2117; goto __pyx_L1;}
  __pyx_4 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2117; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_v_ret = H5ARRAYappend_records(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->name,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->rank,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->dims,__pyx_v_dims_arr,__pyx_4,__pyx_v_rbuf);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2119 */
  free(__pyx_v_dims_arr);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2120 */
  __pyx_4 = (__pyx_v_ret < 0);
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2121 */
    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2121; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2121; goto __pyx_L1;}
    Py_INCREF(__pyx_k115p);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k115p);
    __pyx_2 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2121; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_2, 0, 0);
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2121; goto __pyx_L1;}
    goto __pyx_L4;
  }
  __pyx_L4:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2123 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_list); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2123; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n_shape); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2123; goto __pyx_L1;}
  __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2123; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
  __pyx_3 = 0;
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2123; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_v_shape);
  __pyx_v_shape = __pyx_3;
  __pyx_3 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2124 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_extdim); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2124; goto __pyx_L1;}
  __pyx_4 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2124; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_2 = PyLong_FromLongLong((((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->dims[__pyx_4])); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2124; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n_extdim); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2124; goto __pyx_L1;}
  if (PyObject_SetItem(__pyx_v_shape, __pyx_3, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2124; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2125 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_extdim); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2125; goto __pyx_L1;}
  __pyx_4 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2125; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_3 = PyLong_FromLongLong((((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->dims[__pyx_4])); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2125; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_nrows, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2125; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2126 */
  __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_tuple); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2126; goto __pyx_L1;}
  __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2126; goto __pyx_L1;}
  Py_INCREF(__pyx_v_shape);
  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_shape);
  __pyx_3 = PyObject_CallObject(__pyx_2, __pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2126; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_shape, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2126; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  __Pyx_AddTraceback("hdf5Extension.Array._append");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_shape);
  Py_DECREF(__pyx_v_i);
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_naarr);
  return __pyx_r;
}

static PyObject *__pyx_n__v_file;
static PyObject *__pyx_n__isPTFile;
static PyObject *__pyx_n___class__;
static PyObject *__pyx_n___name__;
static PyObject *__pyx_n_EArray;

static PyObject *__pyx_k121p;

static char (__pyx_k116[]) = "unknown";
static char (__pyx_k117[]) = "FLAVOR";
static char (__pyx_k118[]) = "VERSION";
static char (__pyx_k120[]) = "EXTDIM";
static char (__pyx_k121[]) = "HDF5 class %d not supported. Sorry!";
static char (__pyx_k122[]) = "\n\n    It\'s impossible to call PyTuple_SetItem and PyTuple_GetItem\n    correctly from Pyrex, because they don\'t follow the standard\n    reference counting protocol (PyTuple_GetItem returns a borrowed\n    reference, and PyTuple_SetItem steals a reference).\n\n    It\'s best to use Python constructs to create tuples if you\n    can. Otherwise, you could create wrapppers for these functions in\n    an external C file which provide standard reference counting\n    behaviour.\n\n    ";

static PyObject *__pyx_f_13hdf5Extension_5Array__openArray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Array__openArray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_shape;
  size_t __pyx_v_type_size;
  size_t __pyx_v_type_precision;
  enum H5T_class_t __pyx_v_class_id;
  enum H5T_sign_t __pyx_v_sign;
  char (__pyx_v_byteorder[16]);
  int __pyx_v_i;
  herr_t __pyx_v_ret;
  int __pyx_v_extdim;
  char (__pyx_v_flavor[256]);
  char (__pyx_v_version[8]);
  double __pyx_v_fversion;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  int __pyx_3;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);
  __pyx_v_shape = Py_None; Py_INCREF(__pyx_v_shape);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2142 */
  __pyx_v_ret = H5ARRAYget_ndims(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->name,(&((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->rank));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2144 */
  ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->dims = ((hsize_t (*))malloc((((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->rank * (sizeof(hsize_t )))));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2146 */
  __pyx_v_ret = H5ARRAYget_info(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->name,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->dims,(&((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->type_id),(&__pyx_v_class_id),__pyx_v_byteorder);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2149 */
  strcpy(__pyx_v_flavor,__pyx_k116);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2150 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n__v_file); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n__isPTFile); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_3 = PyObject_IsTrue(__pyx_2); if (__pyx_3 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2150; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  if (__pyx_3) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2151 */
    H5LTget_attribute_string(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->name,__pyx_k117,__pyx_v_flavor);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2152 */
    H5LTget_attribute_string(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->name,__pyx_k118,__pyx_v_version);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2153 */
    __pyx_v_fversion = atof(__pyx_v_version);

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2155 */
    __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n___class__); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; goto __pyx_L1;}
    __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n___name__); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    if (PyObject_Cmp(__pyx_2, __pyx_n_EArray, &__pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; goto __pyx_L1;}
    __pyx_3 = __pyx_3 == 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    if (__pyx_3) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2157 */
      H5LTget_attribute_int(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->name,__pyx_k120,(&__pyx_v_extdim));

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2158 */
      __pyx_1 = PyInt_FromLong(__pyx_v_extdim); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2158; goto __pyx_L1;}
      if (PyObject_SetAttr(__pyx_v_self, __pyx_n_extdim, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2158; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      goto __pyx_L3;
    }
    __pyx_L3:;
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2159 */
  __pyx_2 = PyString_FromString(__pyx_v_flavor); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2159; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_flavor, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2159; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2162 */
  __pyx_v_type_size = getArrayType(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->type_id,(&((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->enumtype));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2163 */
  __pyx_3 = (__pyx_v_type_size < 0);
  if (__pyx_3) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2164 */
    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2164; goto __pyx_L1;}
    __pyx_2 = PyInt_FromLong(__pyx_v_class_id); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2164; goto __pyx_L1;}
    __pyx_4 = PyNumber_Remainder(__pyx_k121p, __pyx_2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2164; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __Pyx_Raise(__pyx_1, __pyx_4, 0);
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2164; goto __pyx_L1;}
    goto __pyx_L4;
  }
  __pyx_L4:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2166 */
  H5Tclose(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->type_id);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2170 */
  __pyx_k122;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2184 */
  __pyx_2 = PyList_New(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2184; goto __pyx_L1;}
  Py_DECREF(__pyx_v_shape);
  __pyx_v_shape = __pyx_2;
  __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2185 */
  __pyx_3 = ((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->rank;
  for (__pyx_v_i = 0; __pyx_v_i < __pyx_3; ++__pyx_v_i) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2187 */
    __pyx_1 = PyObject_GetAttr(__pyx_v_shape, __pyx_n_append); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2187; goto __pyx_L1;}
    __pyx_4 = PyInt_FromLong(((int )(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->dims[__pyx_v_i]))); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2187; goto __pyx_L1;}
    __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2187; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_4);
    __pyx_4 = 0;
    __pyx_4 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2187; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_L5:;
  }
  __pyx_L6:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2188 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_tuple); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2188; goto __pyx_L1;}
  __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2188; goto __pyx_L1;}
  Py_INCREF(__pyx_v_shape);
  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_shape);
  __pyx_4 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2188; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_v_shape);
  __pyx_v_shape = __pyx_4;
  __pyx_4 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2190 */
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_toclass); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2190; goto __pyx_L1;}
  __pyx_2 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->enumtype); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2190; goto __pyx_L1;}
  __pyx_4 = PyObject_GetItem(__pyx_1, __pyx_2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2190; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_1 = PyInt_FromLong(__pyx_v_type_size); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2190; goto __pyx_L1;}
  __pyx_2 = PyString_FromString(__pyx_v_byteorder); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2190; goto __pyx_L1;}
  __pyx_5 = PyTuple_New(4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2190; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_5, 0, __pyx_4);
  Py_INCREF(__pyx_v_shape);
  PyTuple_SET_ITEM(__pyx_5, 1, __pyx_v_shape);
  PyTuple_SET_ITEM(__pyx_5, 2, __pyx_1);
  PyTuple_SET_ITEM(__pyx_5, 3, __pyx_2);
  __pyx_4 = 0;
  __pyx_1 = 0;
  __pyx_2 = 0;
  __pyx_r = __pyx_5;
  __pyx_5 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.Array._openArray");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_shape);
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k124p;

static char (__pyx_k124[]) = "Problems reading the array data.";

static PyObject *__pyx_f_13hdf5Extension_5Array__readArray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Array__readArray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PY_LONG_LONG __pyx_v_start;
  PY_LONG_LONG __pyx_v_stop;
  PY_LONG_LONG __pyx_v_step;
  PyObject *__pyx_v_buf = 0;
  herr_t __pyx_v_ret;
  void (*__pyx_v_rbuf);
  long __pyx_v_buflen;
  hsize_t __pyx_v_nrows;
  int __pyx_v_extdim;
  PyObject *__pyx_v_exdim;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  int __pyx_4;
  static char *__pyx_argnames[] = {"start","stop","step","buf",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "LLLO", __pyx_argnames, &__pyx_v_start, &__pyx_v_stop, &__pyx_v_step, &__pyx_v_buf)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_buf);
  __pyx_v_exdim = Py_None; Py_INCREF(__pyx_v_exdim);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2201 */
  __pyx_v_buflen = NA_getBufferPtrAndSize(__pyx_v_buf,1,(&__pyx_v_rbuf));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2204 */
  __pyx_v_nrows = ((((__pyx_v_stop - __pyx_v_start) - 1) / __pyx_v_step) + 1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2205 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_hasattr); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2205; goto __pyx_L1;}
  __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2205; goto __pyx_L1;}
  Py_INCREF(__pyx_v_self);
  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_self);
  Py_INCREF(__pyx_n_extdim);
  PyTuple_SET_ITEM(__pyx_2, 1, __pyx_n_extdim);
  __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2205; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_4 = PyObject_IsTrue(__pyx_3); if (__pyx_4 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2205; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2206 */
    __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_extdim); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2206; goto __pyx_L1;}
    __pyx_4 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2206; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_v_extdim = __pyx_4;
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2208 */
    __pyx_2 = PyInt_FromLong((-1)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2208; goto __pyx_L1;}
    Py_DECREF(__pyx_v_exdim);
    __pyx_v_exdim = __pyx_2;
    __pyx_2 = 0;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2209 */
  __pyx_v_ret = H5ARRAYread(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->name,__pyx_v_start,__pyx_v_nrows,__pyx_v_step,__pyx_v_extdim,__pyx_v_rbuf);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2211 */
  __pyx_4 = (__pyx_v_ret < 0);
  if (__pyx_4) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2212 */
    __pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; goto __pyx_L1;}
    __pyx_1 = PyTuple_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; goto __pyx_L1;}
    Py_INCREF(__pyx_k124p);
    PyTuple_SET_ITEM(__pyx_1, 0, __pyx_k124p);
    __pyx_2 = PyObject_CallObject(__pyx_3, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __Pyx_Raise(__pyx_2, 0, 0);
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2212; goto __pyx_L1;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2214 */
  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  __Pyx_AddTraceback("hdf5Extension.Array._readArray");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_exdim);
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_buf);
  return __pyx_r;
}

static PyObject *__pyx_k125p;

static char (__pyx_k125[]) = "Problems reading the array data.";

static PyObject *__pyx_f_13hdf5Extension_5Array__g_readSlice(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_5Array__g_readSlice(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_startl = 0;
  PyObject *__pyx_v_stopl = 0;
  PyObject *__pyx_v_stepl = 0;
  PyObject *__pyx_v_buf = 0;
  herr_t __pyx_v_ret;
  void (*__pyx_v_rbuf);
  void (*__pyx_v_start);
  void (*__pyx_v_stop);
  void (*__pyx_v_step);
  long __pyx_v_ndims;
  long __pyx_v_buflen;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  int __pyx_2;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {"startl","stopl","stepl","buf",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OOOO", __pyx_argnames, &__pyx_v_startl, &__pyx_v_stopl, &__pyx_v_stepl, &__pyx_v_buf)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_startl);
  Py_INCREF(__pyx_v_stopl);
  Py_INCREF(__pyx_v_stepl);
  Py_INCREF(__pyx_v_buf);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2224 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_startl, __pyx_n__data); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2224; goto __pyx_L1;}
  __pyx_v_ndims = NA_getBufferPtrAndSize(__pyx_1,1,(&__pyx_v_start));
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2225 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_stopl, __pyx_n__data); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2225; goto __pyx_L1;}
  __pyx_v_ndims = NA_getBufferPtrAndSize(__pyx_1,1,(&__pyx_v_stop));
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2226 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_stepl, __pyx_n__data); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2226; goto __pyx_L1;}
  __pyx_v_ndims = NA_getBufferPtrAndSize(__pyx_1,1,(&__pyx_v_step));
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2229 */
  __pyx_v_buflen = NA_getBufferPtrAndSize(__pyx_v_buf,1,(&__pyx_v_rbuf));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2231 */
  __pyx_v_ret = H5ARRAYreadSlice(((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->name,((hsize_t (*))__pyx_v_start),((hsize_t (*))__pyx_v_stop),((hsize_t (*))__pyx_v_step),__pyx_v_rbuf);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2234 */
  __pyx_2 = (__pyx_v_ret < 0);
  if (__pyx_2) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2235 */
    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; goto __pyx_L1;}
    Py_INCREF(__pyx_k125p);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k125p);
    __pyx_4 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_4, 0, 0);
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2235; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2237 */
  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.Array._g_readSlice");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_startl);
  Py_DECREF(__pyx_v_stopl);
  Py_DECREF(__pyx_v_stepl);
  Py_DECREF(__pyx_v_buf);
  return __pyx_r;
}

static void __pyx_f_13hdf5Extension_5Array___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_f_13hdf5Extension_5Array___dealloc__(PyObject *__pyx_v_self) {
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2241 */
  free(((void (*))((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->dims));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2242 */
  free(((void (*))((struct __pyx_obj_13hdf5Extension_Array *)__pyx_v_self)->name));

  goto __pyx_L0;
  __pyx_L1:;
  __Pyx_AddTraceback("hdf5Extension.Array.__dealloc__");
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
}

static PyObject *__pyx_f_13hdf5Extension_7VLArray__g_new(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_7VLArray__g_new(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_where = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_r;
  char (*__pyx_1);
  PyObject *__pyx_2 = 0;
  hid_t __pyx_3;
  static char *__pyx_argnames[] = {"where","name",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_where, &__pyx_v_name)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_where);
  Py_INCREF(__pyx_v_name);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2260 */
  __pyx_1 = PyString_AsString(__pyx_v_name); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2260; goto __pyx_L1;}
  ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->name = strdup(__pyx_1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2262 */
  __pyx_2 = PyObject_GetAttr(__pyx_v_where, __pyx_n__v_objectID); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2262; goto __pyx_L1;}
  __pyx_3 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2262; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->parent_id = __pyx_3;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  __Pyx_AddTraceback("hdf5Extension.VLArray._g_new");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_where);
  Py_DECREF(__pyx_v_name);
  return __pyx_r;
}

static PyObject *__pyx_k126p;
static PyObject *__pyx_k127p;
static PyObject *__pyx_k128p;

static char (__pyx_k126[]) = "Type class \'%s\' not supported rigth now. Sorry about that.\n            ";
static char (__pyx_k127[]) = "type \'%s\' is not supported right now. Sorry about that.";
static char (__pyx_k128[]) = "Problems creating the VLArray.";

static PyObject *__pyx_f_13hdf5Extension_7VLArray__createArray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_7VLArray__createArray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char (*__pyx_v_title);
  int __pyx_v_i;
  herr_t __pyx_v_ret;
  void (*__pyx_v_rbuf);
  char (*__pyx_v_byteorder);
  char (*__pyx_v_flavor);
  char (*__pyx_v_complib);
  char (*__pyx_v_version);
  PyObject *__pyx_v_oid;
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  int __pyx_3;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  size_t __pyx_6;
  int __pyx_7;
  hsize_t __pyx_8;
  int __pyx_9;
  static char *__pyx_argnames[] = {"title",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "s", __pyx_argnames, &__pyx_v_title)) return 0;
  Py_INCREF(__pyx_v_self);
  __pyx_v_oid = Py_None; Py_INCREF(__pyx_v_oid);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2271 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_atom); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2271; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_type); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2271; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->type);
  ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->type = __pyx_2;
  __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2272 */
  /*try:*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2273 */
    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_toenum); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2273; goto __pyx_L2;}
    __pyx_2 = PyObject_GetItem(__pyx_1, ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->type); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2273; goto __pyx_L2;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_3 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2273; goto __pyx_L2;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->enumtype = __pyx_3;
  }
  goto __pyx_L3;
  __pyx_L2:;
  Py_XDECREF(__pyx_1); __pyx_1 = 0;
  Py_XDECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2274 */
  __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_KeyError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2274; goto __pyx_L1;}
  __pyx_3 = PyErr_ExceptionMatches(__pyx_1);
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  if (__pyx_3) {
    __Pyx_AddTraceback("hdf5Extension._createArray");
    __pyx_2 = __Pyx_GetExcValue(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2274; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2275 */
    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2275; goto __pyx_L1;}
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_repr); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2277; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2277; goto __pyx_L1;}
    Py_INCREF(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->type);
    PyTuple_SET_ITEM(__pyx_4, 0, ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->type);
    __pyx_5 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2277; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __pyx_2 = PyNumber_Remainder(__pyx_k126p, __pyx_5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2277; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __Pyx_Raise(__pyx_1, __pyx_2, 0);
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2275; goto __pyx_L1;}
    goto __pyx_L3;
  }
  goto __pyx_L1;
  __pyx_L3:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2279 */
  __pyx_4 = PyObject_GetAttr(__pyx_v_self, __pyx_n_byteorder); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2279; goto __pyx_L1;}
  __pyx_v_byteorder = PyString_AsString(__pyx_4);
  Py_DECREF(__pyx_4); __pyx_4 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2281 */
  __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_atom); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2281; goto __pyx_L1;}
  __pyx_1 = PyObject_GetAttr(__pyx_5, __pyx_n_itemsize); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2281; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_6 = PyInt_AsLong(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2281; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->type_id = convArrayType(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->enumtype,__pyx_6,__pyx_v_byteorder);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2282 */
  __pyx_3 = (((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->type_id < 0);
  if (__pyx_3) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2283 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2283; goto __pyx_L1;}
    __pyx_4 = PyNumber_Remainder(__pyx_k127p, ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->type); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2285; goto __pyx_L1;}
    __Pyx_Raise(__pyx_2, __pyx_4, 0);
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2283; goto __pyx_L1;}
    goto __pyx_L4;
  }
  __pyx_L4:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2288 */
  __pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_isinstance); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2288; goto __pyx_L1;}
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_atom); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2288; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_shape); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2288; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_types); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2288; goto __pyx_L1;}
  __pyx_1 = PyObject_GetAttr(__pyx_4, __pyx_n_IntType); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2288; goto __pyx_L1;}
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2288; goto __pyx_L1;}
  PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
  PyTuple_SET_ITEM(__pyx_4, 1, __pyx_1);
  __pyx_2 = 0;
  __pyx_1 = 0;
  __pyx_2 = PyObject_CallObject(__pyx_5, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2288; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_3 = PyObject_IsTrue(__pyx_2); if (__pyx_3 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2288; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  if (__pyx_3) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2289 */
    ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->rank = 1;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2290 */
    ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->scalar = 1;
    goto __pyx_L5;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2292 */
    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_len); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2292; goto __pyx_L1;}
    __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_atom); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2292; goto __pyx_L1;}
    __pyx_4 = PyObject_GetAttr(__pyx_5, __pyx_n_shape); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2292; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2292; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_4);
    __pyx_4 = 0;
    __pyx_5 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2292; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_3 = PyInt_AsLong(__pyx_5); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2292; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->rank = __pyx_3;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2293 */
    ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->scalar = 0;
  }
  __pyx_L5:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2295 */
  ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->dims = ((hsize_t (*))malloc((((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->rank * (sizeof(hsize_t )))));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2297 */
  __pyx_3 = ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->rank;
  for (__pyx_v_i = 0; __pyx_v_i < __pyx_3; ++__pyx_v_i) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2298 */
    __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_isinstance); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2298; goto __pyx_L1;}
    __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_atom); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2298; goto __pyx_L1;}
    __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_shape); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2298; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    __pyx_5 = __Pyx_GetName(__pyx_m, __pyx_n_types); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2298; goto __pyx_L1;}
    __pyx_1 = PyObject_GetAttr(__pyx_5, __pyx_n_IntType); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2298; goto __pyx_L1;}
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_5 = PyTuple_New(2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2298; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_5, 0, __pyx_2);
    PyTuple_SET_ITEM(__pyx_5, 1, __pyx_1);
    __pyx_2 = 0;
    __pyx_1 = 0;
    __pyx_2 = PyObject_CallObject(__pyx_4, __pyx_5); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2298; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    __pyx_7 = PyObject_IsTrue(__pyx_2); if (__pyx_7 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2298; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    if (__pyx_7) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2299 */
      __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_atom); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2299; goto __pyx_L1;}
      __pyx_4 = PyObject_GetAttr(__pyx_1, __pyx_n_shape); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2299; goto __pyx_L1;}
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      __pyx_8 = PyLong_AsLongLong(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2299; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      (((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->dims[__pyx_v_i]) = __pyx_8;
      goto __pyx_L8;
    }
    /*else*/ {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2301 */
      __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_atom); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2301; goto __pyx_L1;}
      __pyx_2 = PyObject_GetAttr(__pyx_5, __pyx_n_shape); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2301; goto __pyx_L1;}
      Py_DECREF(__pyx_5); __pyx_5 = 0;
      __pyx_1 = PyInt_FromLong(__pyx_v_i); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2301; goto __pyx_L1;}
      __pyx_4 = PyObject_GetItem(__pyx_2, __pyx_1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2301; goto __pyx_L1;}
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      Py_DECREF(__pyx_1); __pyx_1 = 0;
      __pyx_8 = PyLong_AsLongLong(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2301; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      (((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->dims[__pyx_v_i]) = __pyx_8;
    }
    __pyx_L8:;
    __pyx_L6:;
  }
  __pyx_L7:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2303 */
  __pyx_v_rbuf = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2306 */
  __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_atom); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2306; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_5, __pyx_n_flavor); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2306; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_v_flavor = PyString_AsString(__pyx_2);
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2307 */
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2307; goto __pyx_L1;}
  __pyx_4 = PyObject_GetAttr(__pyx_1, __pyx_n_complib); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2307; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_v_complib = PyString_AsString(__pyx_4);
  Py_DECREF(__pyx_4); __pyx_4 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2308 */
  __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n__v_version); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2308; goto __pyx_L1;}
  __pyx_v_version = PyString_AsString(__pyx_5);
  Py_DECREF(__pyx_5); __pyx_5 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2310 */
  __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n__v_chunksize); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2312; goto __pyx_L1;}
  __pyx_8 = PyLong_AsLongLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2312; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2313; goto __pyx_L1;}
  __pyx_4 = PyObject_GetAttr(__pyx_1, __pyx_n_complevel); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2313; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_7 = PyInt_AsLong(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2313; goto __pyx_L1;}
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_5 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2314; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_5, __pyx_n_shuffle); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2314; goto __pyx_L1;}
  Py_DECREF(__pyx_5); __pyx_5 = 0;
  __pyx_3 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2314; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_filters); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2314; goto __pyx_L1;}
  __pyx_4 = PyObject_GetAttr(__pyx_1, __pyx_n_fletcher32); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2314; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_9 = PyInt_AsLong(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2314; goto __pyx_L1;}
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_5 = PyInt_FromLong(H5VLARRAYmake(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->name,__pyx_v_title,__pyx_v_flavor,__pyx_v_version,((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->rank,((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->scalar,((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->dims,((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->type_id,__pyx_8,__pyx_v_rbuf,__pyx_7,__pyx_v_complib,__pyx_3,__pyx_9,__pyx_v_rbuf)); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2310; goto __pyx_L1;}
  Py_DECREF(__pyx_v_oid);
  __pyx_v_oid = __pyx_5;
  __pyx_5 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2316 */
  __pyx_2 = PyInt_FromLong(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2316; goto __pyx_L1;}
  if (PyObject_Cmp(__pyx_v_oid, __pyx_2, &__pyx_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2316; goto __pyx_L1;}
  __pyx_7 = __pyx_7 < 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  if (__pyx_7) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2317 */
    __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2317; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2317; goto __pyx_L1;}
    Py_INCREF(__pyx_k128p);
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k128p);
    __pyx_5 = PyObject_CallObject(__pyx_1, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2317; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_5, 0, 0);
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2317; goto __pyx_L1;}
    goto __pyx_L9;
  }
  __pyx_L9:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2318 */
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_objectID, __pyx_v_oid) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2318; goto __pyx_L1;}

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2319 */
  ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->nrecords = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2321 */
  Py_INCREF(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->type);
  __pyx_r = ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->type;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.VLArray._createArray");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_oid);
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_k129p;

static char (__pyx_k129[]) = "Problems appending the records.";

static PyObject *__pyx_f_13hdf5Extension_7VLArray__append(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_7VLArray__append(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_naarr = 0;
  int __pyx_v_nobjects;
  int __pyx_v_ret;
  void (*__pyx_v_rbuf);
  long __pyx_v_buflen;
  long __pyx_v_offset;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  long __pyx_3;
  PyObject *__pyx_4 = 0;
  PyObject *__pyx_5 = 0;
  static char *__pyx_argnames[] = {"naarr","nobjects",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "Oi", __pyx_argnames, &__pyx_v_naarr, &__pyx_v_nobjects)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_naarr);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2329 */
  __pyx_1 = __pyx_v_nobjects;
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2330 */
    __pyx_2 = PyObject_GetAttr(__pyx_v_naarr, __pyx_n__data); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2330; goto __pyx_L1;}
    __pyx_v_buflen = NA_getBufferPtrAndSize(__pyx_2,1,(&__pyx_v_rbuf));
    Py_DECREF(__pyx_2); __pyx_2 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2332 */
    __pyx_2 = PyObject_GetAttr(__pyx_v_naarr, __pyx_n__byteoffset); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2332; goto __pyx_L1;}
    __pyx_3 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2332; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    __pyx_v_offset = __pyx_3;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2333 */
    __pyx_v_rbuf = ((void (*))(((char (*))__pyx_v_rbuf) + __pyx_v_offset));
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2335 */
    __pyx_v_rbuf = 0;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2338 */
  __pyx_v_ret = H5VLARRAYappend_records(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->name,__pyx_v_nobjects,((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->nrecords,__pyx_v_rbuf);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2341 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2342 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2342; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2342; goto __pyx_L1;}
    Py_INCREF(__pyx_k129p);
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k129p);
    __pyx_5 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2342; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    __Pyx_Raise(__pyx_5, 0, 0);
    Py_DECREF(__pyx_5); __pyx_5 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2342; goto __pyx_L1;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2344 */
  ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->nrecords = (((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->nrecords + 1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2346 */
  __pyx_2 = PyLong_FromLongLong(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->nrecords); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2346; goto __pyx_L1;}
  __pyx_r = __pyx_2;
  __pyx_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_5);
  __Pyx_AddTraceback("hdf5Extension.VLArray._append");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_naarr);
  return __pyx_r;
}

static PyObject *__pyx_n__basesize;
static PyObject *__pyx_n__atomictype;
static PyObject *__pyx_n__atomicsize;
static PyObject *__pyx_n__atomicshape;

static PyObject *__pyx_k132p;

static char (__pyx_k130[]) = "FLAVOR";
static char (__pyx_k131[]) = "unknown";
static char (__pyx_k132[]) = "The HDF5 class of object does not seem VLEN. Sorry!";

static PyObject *__pyx_f_13hdf5Extension_7VLArray__openArray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_7VLArray__openArray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_shape;
  char (__pyx_v_byteorder[16]);
  int __pyx_v_i;
  herr_t __pyx_v_ret;
  hsize_t (__pyx_v_nrecords[1]);
  char (__pyx_v_flavor[256]);
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);
  __pyx_v_shape = Py_None; Py_INCREF(__pyx_v_shape);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2357 */
  __pyx_v_ret = H5VLARRAYget_ndims(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->name,(&((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->rank));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2359 */
  __pyx_1 = ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->rank;
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2360 */
    ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->dims = ((hsize_t (*))malloc((((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->rank * (sizeof(hsize_t )))));
    goto __pyx_L2;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2362 */
    ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->dims = 0;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2364 */
  __pyx_v_ret = H5VLARRAYget_info(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->name,__pyx_v_nrecords,((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->dims,(&((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->type_id),__pyx_v_byteorder);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2367 */
  __pyx_v_ret = H5LTget_attribute_string(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->name,__pyx_k130,__pyx_v_flavor);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2368 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2369 */
    strcpy(__pyx_v_flavor,__pyx_k131);
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2372 */
  __pyx_2 = PyString_FromString(__pyx_v_flavor); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2372; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_flavor, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2372; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2373 */
  __pyx_2 = PyString_FromString(__pyx_v_byteorder); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2373; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_byteorder, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2373; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2376 */
  __pyx_2 = PyInt_FromLong(getArrayType(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->type_id,(&((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->enumtype))); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2376; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n__basesize, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2376; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2377 */
  __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n__basesize); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2377; goto __pyx_L1;}
  __pyx_3 = PyInt_FromLong(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2377; goto __pyx_L1;}
  if (PyObject_Cmp(__pyx_2, __pyx_3, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2377; goto __pyx_L1;}
  __pyx_1 = __pyx_1 < 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2378 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_TypeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2378; goto __pyx_L1;}
    __Pyx_Raise(__pyx_2, __pyx_k132p, 0);
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2378; goto __pyx_L1;}
    goto __pyx_L4;
  }
  __pyx_L4:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2381 */
  __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_toclass); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2381; goto __pyx_L1;}
  __pyx_2 = PyInt_FromLong(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->enumtype); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2381; goto __pyx_L1;}
  __pyx_4 = PyObject_GetItem(__pyx_3, __pyx_2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2381; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n__atomictype, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2381; goto __pyx_L1;}
  Py_DECREF(__pyx_4); __pyx_4 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2383 */
  __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n__basesize); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2383; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n__atomicsize, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2383; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2384 */
  __pyx_1 = ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->rank;
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2385 */
    __pyx_2 = PyList_New(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2385; goto __pyx_L1;}
    Py_DECREF(__pyx_v_shape);
    __pyx_v_shape = __pyx_2;
    __pyx_2 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2386 */
    __pyx_1 = ((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->rank;
    for (__pyx_v_i = 0; __pyx_v_i < __pyx_1; ++__pyx_v_i) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2388 */
      __pyx_4 = PyObject_GetAttr(__pyx_v_shape, __pyx_n_append); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2388; goto __pyx_L1;}
      __pyx_3 = PyInt_FromLong(((int )(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->dims[__pyx_v_i]))); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2388; goto __pyx_L1;}
      __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2388; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
      __pyx_3 = 0;
      __pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2388; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      Py_DECREF(__pyx_3); __pyx_3 = 0;

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2389 */
      __pyx_4 = PyObject_GetAttr(__pyx_v_self, __pyx_n__atomicsize); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2389; goto __pyx_L1;}
      __pyx_2 = PyInt_FromLong(((int )(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->dims[__pyx_v_i]))); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2389; goto __pyx_L1;}
      __pyx_3 = PyNumber_Multiply(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2389; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      if (PyObject_SetAttr(__pyx_v_self, __pyx_n__atomicsize, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2389; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      __pyx_L6:;
    }
    __pyx_L7:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2390 */
    __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_tuple); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2390; goto __pyx_L1;}
    __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2390; goto __pyx_L1;}
    Py_INCREF(__pyx_v_shape);
    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_shape);
    __pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2390; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_v_shape);
    __pyx_v_shape = __pyx_3;
    __pyx_3 = 0;
    goto __pyx_L5;
  }
  /*else*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2393 */
    __pyx_4 = PyInt_FromLong(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2393; goto __pyx_L1;}
    Py_DECREF(__pyx_v_shape);
    __pyx_v_shape = __pyx_4;
    __pyx_4 = 0;
  }
  __pyx_L5:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2395 */
  if (PyObject_SetAttr(__pyx_v_self, __pyx_n__atomicshape, __pyx_v_shape) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2395; goto __pyx_L1;}

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2397 */
  __pyx_2 = PyInt_FromLong(((int )(__pyx_v_nrecords[0]))); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2397; goto __pyx_L1;}
  __pyx_r = __pyx_2;
  __pyx_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension.VLArray._openArray");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_shape);
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static PyObject *__pyx_n_TupleType;
static PyObject *__pyx_n_insert;

static PyObject *__pyx_k133p;
static PyObject *__pyx_k134p;

static char (__pyx_k133[]) = "Problems reading the array data.";
static char (__pyx_k134[]) = "Problems creating python buffer for read data.";

static PyObject *__pyx_f_13hdf5Extension_7VLArray__readArray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_7VLArray__readArray(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PY_LONG_LONG __pyx_v_start;
  PY_LONG_LONG __pyx_v_stop;
  PY_LONG_LONG __pyx_v_step;
  herr_t __pyx_v_ret;
  hvl_t (*__pyx_v_rdata);
  size_t __pyx_v_vllen;
  hsize_t __pyx_v_rdatalen;
  PyObject *__pyx_v_rbuf;
  PyObject *__pyx_v_naarr;
  PyObject *__pyx_v_shape;
  PyObject *__pyx_v_datalist;
  int __pyx_v_i;
  hsize_t __pyx_v_nrows;
  PyObject *__pyx_r;
  int __pyx_1;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  int __pyx_5;
  PyObject *__pyx_6 = 0;
  static char *__pyx_argnames[] = {"start","stop","step",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "LLL", __pyx_argnames, &__pyx_v_start, &__pyx_v_stop, &__pyx_v_step)) return 0;
  Py_INCREF(__pyx_v_self);
  __pyx_v_rbuf = Py_None; Py_INCREF(__pyx_v_rbuf);
  __pyx_v_naarr = Py_None; Py_INCREF(__pyx_v_naarr);
  __pyx_v_shape = Py_None; Py_INCREF(__pyx_v_shape);
  __pyx_v_datalist = Py_None; Py_INCREF(__pyx_v_datalist);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2409 */
  __pyx_v_nrows = ((((__pyx_v_stop - __pyx_v_start) - 1) / __pyx_v_step) + 1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2410 */
  __pyx_v_rdata = ((hvl_t (*))malloc((((size_t )__pyx_v_nrows) * (sizeof(hvl_t )))));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2411 */
  __pyx_v_ret = H5VLARRAYread(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->name,__pyx_v_start,__pyx_v_nrows,__pyx_v_step,__pyx_v_rdata,(&__pyx_v_rdatalen));

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2413 */
  __pyx_1 = (__pyx_v_ret < 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2414 */
    __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2414; goto __pyx_L1;}
    __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2414; goto __pyx_L1;}
    Py_INCREF(__pyx_k133p);
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k133p);
    __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2414; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __Pyx_Raise(__pyx_4, 0, 0);
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2414; goto __pyx_L1;}
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2416 */
  __pyx_2 = PyList_New(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2416; goto __pyx_L1;}
  Py_DECREF(__pyx_v_datalist);
  __pyx_v_datalist = __pyx_2;
  __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2417 */
  for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_nrows; ++__pyx_v_i) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2419 */
    __pyx_v_vllen = (__pyx_v_rdata[__pyx_v_i]).len;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2421 */
    __pyx_1 = (__pyx_v_vllen > 0);
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2422 */
      __pyx_3 = PyInt_FromLong(__pyx_v_vllen); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2422; goto __pyx_L1;}
      __pyx_4 = PyObject_GetAttr(__pyx_v_self, __pyx_n__atomicsize); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2422; goto __pyx_L1;}
      __pyx_2 = PyNumber_Multiply(__pyx_3, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2422; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      __pyx_1 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2422; goto __pyx_L1;}
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      __pyx_3 = PyBuffer_FromReadWriteMemory((__pyx_v_rdata[__pyx_v_i]).p,__pyx_1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2422; goto __pyx_L1;}
      Py_DECREF(__pyx_v_rbuf);
      __pyx_v_rbuf = __pyx_3;
      __pyx_3 = 0;

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2423 */
      __pyx_1 = PyObject_IsTrue(__pyx_v_rbuf); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2423; goto __pyx_L1;}
      __pyx_5 = (!__pyx_1);
      if (__pyx_5) {

        /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2424 */
        __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2424; goto __pyx_L1;}
        __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2424; goto __pyx_L1;}
        Py_INCREF(__pyx_k134p);
        PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k134p);
        __pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2424; goto __pyx_L1;}
        Py_DECREF(__pyx_4); __pyx_4 = 0;
        Py_DECREF(__pyx_2); __pyx_2 = 0;
        __Pyx_Raise(__pyx_3, 0, 0);
        Py_DECREF(__pyx_3); __pyx_3 = 0;
        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2424; goto __pyx_L1;}
        goto __pyx_L6;
      }
      __pyx_L6:;
      goto __pyx_L5;
    }
    /*else*/ {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2427 */
      Py_INCREF(Py_None);
      Py_DECREF(__pyx_v_rbuf);
      __pyx_v_rbuf = Py_None;
    }
    __pyx_L5:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2429 */
    __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_isinstance); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2429; goto __pyx_L1;}
    __pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n__atomicshape); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2429; goto __pyx_L1;}
    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_types); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2429; goto __pyx_L1;}
    __pyx_6 = PyObject_GetAttr(__pyx_3, __pyx_n_TupleType); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2429; goto __pyx_L1;}
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2429; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_6);
    __pyx_2 = 0;
    __pyx_6 = 0;
    __pyx_2 = PyObject_CallObject(__pyx_4, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2429; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_1 = PyObject_IsTrue(__pyx_2); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2429; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2430 */
      __pyx_6 = __Pyx_GetName(__pyx_b, __pyx_n_list); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2430; goto __pyx_L1;}
      __pyx_4 = PyObject_GetAttr(__pyx_v_self, __pyx_n__atomicshape); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2430; goto __pyx_L1;}
      __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2430; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
      __pyx_4 = 0;
      __pyx_2 = PyObject_CallObject(__pyx_6, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2430; goto __pyx_L1;}
      Py_DECREF(__pyx_6); __pyx_6 = 0;
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      Py_DECREF(__pyx_v_shape);
      __pyx_v_shape = __pyx_2;
      __pyx_2 = 0;

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2431 */
      __pyx_4 = PyObject_GetAttr(__pyx_v_shape, __pyx_n_insert); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2431; goto __pyx_L1;}
      __pyx_6 = PyInt_FromLong(0); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2431; goto __pyx_L1;}
      __pyx_3 = PyInt_FromLong(__pyx_v_vllen); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2431; goto __pyx_L1;}
      __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2431; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_2, 0, __pyx_6);
      PyTuple_SET_ITEM(__pyx_2, 1, __pyx_3);
      __pyx_6 = 0;
      __pyx_3 = 0;
      __pyx_6 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2431; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      Py_DECREF(__pyx_6); __pyx_6 = 0;
      goto __pyx_L7;
    }
    __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n__atomicshape); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2432; goto __pyx_L1;}
    __pyx_4 = PyInt_FromLong(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2432; goto __pyx_L1;}
    if (PyObject_Cmp(__pyx_3, __pyx_4, &__pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2432; goto __pyx_L1;}
    __pyx_5 = __pyx_5 > 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    if (__pyx_5) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2433 */
      __pyx_2 = PyInt_FromLong(__pyx_v_vllen); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2433; goto __pyx_L1;}
      __pyx_6 = PyObject_GetAttr(__pyx_v_self, __pyx_n__atomicshape); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2433; goto __pyx_L1;}
      __pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2433; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
      PyTuple_SET_ITEM(__pyx_3, 1, __pyx_6);
      __pyx_2 = 0;
      __pyx_6 = 0;
      Py_DECREF(__pyx_v_shape);
      __pyx_v_shape = __pyx_3;
      __pyx_3 = 0;
      goto __pyx_L7;
    }
    /*else*/ {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2436 */
      __pyx_4 = PyInt_FromLong(__pyx_v_vllen); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2436; goto __pyx_L1;}
      __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2436; goto __pyx_L1;}
      PyTuple_SET_ITEM(__pyx_2, 0, __pyx_4);
      __pyx_4 = 0;
      Py_DECREF(__pyx_v_shape);
      __pyx_v_shape = __pyx_2;
      __pyx_2 = 0;
    }
    __pyx_L7:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2438 */
    __pyx_6 = __Pyx_GetName(__pyx_b, __pyx_n_str); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2438; goto __pyx_L1;}
    __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n__atomictype); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2438; goto __pyx_L1;}
    __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2438; goto __pyx_L1;}
    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
    __pyx_3 = 0;
    __pyx_2 = PyObject_CallObject(__pyx_6, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2438; goto __pyx_L1;}
    Py_DECREF(__pyx_6); __pyx_6 = 0;
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    if (PyObject_Cmp(__pyx_2, __pyx_n_CharType, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2438; goto __pyx_L1;}
    __pyx_1 = __pyx_1 == 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    if (__pyx_1) {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2439 */
      __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_strings); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2439; goto __pyx_L1;}
      __pyx_6 = PyObject_GetAttr(__pyx_3, __pyx_n_array); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2439; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2439; goto __pyx_L1;}
      Py_INCREF(__pyx_v_rbuf);
      PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_rbuf);
      __pyx_2 = PyDict_New(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2439; goto __pyx_L1;}
      __pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n__basesize); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2439; goto __pyx_L1;}
      if (PyDict_SetItem(__pyx_2, __pyx_n_itemsize, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2439; goto __pyx_L1;}
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      if (PyDict_SetItem(__pyx_2, __pyx_n_shape, __pyx_v_shape) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2439; goto __pyx_L1;}
      __pyx_3 = PyEval_CallObjectWithKeywords(__pyx_6, __pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2439; goto __pyx_L1;}
      Py_DECREF(__pyx_6); __pyx_6 = 0;
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      Py_DECREF(__pyx_v_naarr);
      __pyx_v_naarr = __pyx_3;
      __pyx_3 = 0;
      goto __pyx_L8;
    }
    /*else*/ {

      /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2441 */
      __pyx_6 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2441; goto __pyx_L1;}
      __pyx_4 = PyObject_GetAttr(__pyx_6, __pyx_n_array); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2441; goto __pyx_L1;}
      Py_DECREF(__pyx_6); __pyx_6 = 0;
      __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2441; goto __pyx_L1;}
      Py_INCREF(__pyx_v_rbuf);
      PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_rbuf);
      __pyx_3 = PyDict_New(); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2441; goto __pyx_L1;}
      __pyx_6 = PyObject_GetAttr(__pyx_v_self, __pyx_n__atomictype); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2441; goto __pyx_L1;}
      if (PyDict_SetItem(__pyx_3, __pyx_n_type, __pyx_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2441; goto __pyx_L1;}
      Py_DECREF(__pyx_6); __pyx_6 = 0;
      if (PyDict_SetItem(__pyx_3, __pyx_n_shape, __pyx_v_shape) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2441; goto __pyx_L1;}
      __pyx_6 = PyEval_CallObjectWithKeywords(__pyx_4, __pyx_2, __pyx_3); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2441; goto __pyx_L1;}
      Py_DECREF(__pyx_4); __pyx_4 = 0;
      Py_DECREF(__pyx_2); __pyx_2 = 0;
      Py_DECREF(__pyx_3); __pyx_3 = 0;
      Py_DECREF(__pyx_v_naarr);
      __pyx_v_naarr = __pyx_6;
      __pyx_6 = 0;
    }
    __pyx_L8:;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2442 */
    __pyx_4 = PyObject_GetAttr(__pyx_v_datalist, __pyx_n_append); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2442; goto __pyx_L1;}
    __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2442; goto __pyx_L1;}
    Py_INCREF(__pyx_v_naarr);
    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_naarr);
    __pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2442; goto __pyx_L1;}
    Py_DECREF(__pyx_4); __pyx_4 = 0;
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    Py_DECREF(__pyx_3); __pyx_3 = 0;
    __pyx_L3:;
  }
  __pyx_L4:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2445 */
  free(__pyx_v_rdata);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2447 */
  Py_INCREF(__pyx_v_datalist);
  __pyx_r = __pyx_v_datalist;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  Py_XDECREF(__pyx_6);
  __Pyx_AddTraceback("hdf5Extension.VLArray._readArray");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_rbuf);
  Py_DECREF(__pyx_v_naarr);
  Py_DECREF(__pyx_v_shape);
  Py_DECREF(__pyx_v_datalist);
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static void __pyx_f_13hdf5Extension_7VLArray___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_f_13hdf5Extension_7VLArray___dealloc__(PyObject *__pyx_v_self) {
  int __pyx_1;
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2451 */
  H5Tclose(((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->type_id);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2452 */
  __pyx_1 = (((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->dims != 0);
  if (__pyx_1) {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2453 */
    free(((void (*))((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->dims));
    goto __pyx_L2;
  }
  __pyx_L2:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2454 */
  free(((void (*))((struct __pyx_obj_13hdf5Extension_VLArray *)__pyx_v_self)->name));

  goto __pyx_L0;
  __pyx_L1:;
  __Pyx_AddTraceback("hdf5Extension.VLArray.__dealloc__");
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
}

static PyObject *__pyx_f_13hdf5Extension_13UnImplemented__g_new(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_13UnImplemented__g_new(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_where = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_r;
  char (*__pyx_1);
  PyObject *__pyx_2 = 0;
  hid_t __pyx_3;
  static char *__pyx_argnames[] = {"where","name",0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_where, &__pyx_v_name)) return 0;
  Py_INCREF(__pyx_v_self);
  Py_INCREF(__pyx_v_where);
  Py_INCREF(__pyx_v_name);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2464 */
  __pyx_1 = PyString_AsString(__pyx_v_name); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2464; goto __pyx_L1;}
  ((struct __pyx_obj_13hdf5Extension_UnImplemented *)__pyx_v_self)->name = strdup(__pyx_1);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2466 */
  __pyx_2 = PyObject_GetAttr(__pyx_v_where, __pyx_n__v_objectID); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2466; goto __pyx_L1;}
  __pyx_3 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2466; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  ((struct __pyx_obj_13hdf5Extension_UnImplemented *)__pyx_v_self)->parent_id = __pyx_3;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_2);
  __Pyx_AddTraceback("hdf5Extension.UnImplemented._g_new");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
  Py_DECREF(__pyx_v_where);
  Py_DECREF(__pyx_v_name);
  return __pyx_r;
}

static PyObject *__pyx_f_13hdf5Extension_13UnImplemented__openUnImplemented(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_13hdf5Extension_13UnImplemented__openUnImplemented(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_shape;
  char (__pyx_v_byteorder[16]);
  PyObject *__pyx_r;
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  static char *__pyx_argnames[] = {0};
  if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
  Py_INCREF(__pyx_v_self);
  __pyx_v_shape = Py_None; Py_INCREF(__pyx_v_shape);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2473 */
  __pyx_1 = H5UIget_info(((struct __pyx_obj_13hdf5Extension_UnImplemented *)__pyx_v_self)->parent_id,((struct __pyx_obj_13hdf5Extension_UnImplemented *)__pyx_v_self)->name,__pyx_v_byteorder); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2473; goto __pyx_L1;}
  Py_DECREF(__pyx_v_shape);
  __pyx_v_shape = __pyx_1;
  __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2474 */
  __pyx_1 = PyString_FromString(__pyx_v_byteorder); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2474; goto __pyx_L1;}
  __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2474; goto __pyx_L1;}
  Py_INCREF(__pyx_v_shape);
  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_shape);
  PyTuple_SET_ITEM(__pyx_2, 1, __pyx_1);
  __pyx_1 = 0;
  __pyx_r = __pyx_2;
  __pyx_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; Py_INCREF(__pyx_r);
  goto __pyx_L0;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  __Pyx_AddTraceback("hdf5Extension.UnImplemented._openUnImplemented");
  __pyx_r = 0;
  __pyx_L0:;
  Py_DECREF(__pyx_v_shape);
  Py_DECREF(__pyx_v_self);
  return __pyx_r;
}

static void __pyx_f_13hdf5Extension_13UnImplemented___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_f_13hdf5Extension_13UnImplemented___dealloc__(PyObject *__pyx_v_self) {
  Py_INCREF(__pyx_v_self);

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2477 */
  free(((void (*))((struct __pyx_obj_13hdf5Extension_UnImplemented *)__pyx_v_self)->name));

  goto __pyx_L0;
  __pyx_L1:;
  __Pyx_AddTraceback("hdf5Extension.UnImplemented.__dealloc__");
  __pyx_L0:;
  Py_DECREF(__pyx_v_self);
}

static __Pyx_InternTabEntry __pyx_intern_tab[] = {
  {&__pyx_n_ARRAY, "ARRAY"},
  {&__pyx_n_Bool, "Bool"},
  {&__pyx_n_CharArray, "CharArray"},
  {&__pyx_n_CharType, "CharType"},
  {&__pyx_n_EARRAY, "EARRAY"},
  {&__pyx_n_EArray, "EArray"},
  {&__pyx_n_Float32, "Float32"},
  {&__pyx_n_Float64, "Float64"},
  {&__pyx_n_FloatType, "FloatType"},
  {&__pyx_n_IndexError, "IndexError"},
  {&__pyx_n_Int16, "Int16"},
  {&__pyx_n_Int32, "Int32"},
  {&__pyx_n_Int64, "Int64"},
  {&__pyx_n_Int8, "Int8"},
  {&__pyx_n_IntType, "IntType"},
  {&__pyx_n_KeyError, "KeyError"},
  {&__pyx_n_NameError, "NameError"},
  {&__pyx_n_PYTABLES_FORMAT_VERSION, "PYTABLES_FORMAT_VERSION"},
  {&__pyx_n_RuntimeError, "RuntimeError"},
  {&__pyx_n_StopIteration, "StopIteration"},
  {&__pyx_n_StringType, "StringType"},
  {&__pyx_n_TABLE, "TABLE"},
  {&__pyx_n_TupleType, "TupleType"},
  {&__pyx_n_TypeError, "TypeError"},
  {&__pyx_n_UInt16, "UInt16"},
  {&__pyx_n_UInt32, "UInt32"},
  {&__pyx_n_UInt64, "UInt64"},
  {&__pyx_n_UInt8, "UInt8"},
  {&__pyx_n_UNSUPPORTED, "UNSUPPORTED"},
  {&__pyx_n_UserWarning, "UserWarning"},
  {&__pyx_n_VLARRAY, "VLARRAY"},
  {&__pyx_n_ValueError, "ValueError"},
  {&__pyx_n_ZLIB_VERSION, "ZLIB_VERSION"},
  {&__pyx_n___class__, "__class__"},
  {&__pyx_n___name__, "__name__"},
  {&__pyx_n___version__, "__version__"},
  {&__pyx_n__atomicshape, "_atomicshape"},
  {&__pyx_n__atomicsize, "_atomicsize"},
  {&__pyx_n__atomictype, "_atomictype"},
  {&__pyx_n__basesize, "_basesize"},
  {&__pyx_n__byteoffset, "_byteoffset"},
  {&__pyx_n__byteswap, "_byteswap"},
  {&__pyx_n__close_read, "_close_read"},
  {&__pyx_n__data, "_data"},
  {&__pyx_n__fields, "_fields"},
  {&__pyx_n__fmt, "_fmt"},
  {&__pyx_n__g_getNodeAttr, "_g_getNodeAttr"},
  {&__pyx_n__g_setAttrDouble, "_g_setAttrDouble"},
  {&__pyx_n__g_setAttrStr, "_g_setAttrStr"},
  {&__pyx_n__getFilters, "_getFilters"},
  {&__pyx_n__initLoop, "_initLoop"},
  {&__pyx_n__isPTFile, "_isPTFile"},
  {&__pyx_n__itemsize, "_itemsize"},
  {&__pyx_n__names, "_names"},
  {&__pyx_n__newBuffer, "_newBuffer"},
  {&__pyx_n__nfields, "_nfields"},
  {&__pyx_n__open_append, "_open_append"},
  {&__pyx_n__open_read, "_open_read"},
  {&__pyx_n__read_records, "_read_records"},
  {&__pyx_n__repeats, "_repeats"},
  {&__pyx_n__saveBufferedRows, "_saveBufferedRows"},
  {&__pyx_n__strides, "_strides"},
  {&__pyx_n__type, "_type"},
  {&__pyx_n__v_buffer, "_v_buffer"},
  {&__pyx_n__v_buffercpy, "_v_buffercpy"},
  {&__pyx_n__v_chunksize, "_v_chunksize"},
  {&__pyx_n__v_expectedrows, "_v_expectedrows"},
  {&__pyx_n__v_file, "_v_file"},
  {&__pyx_n__v_fmt, "_v_fmt"},
  {&__pyx_n__v_hdf5name, "_v_hdf5name"},
  {&__pyx_n__v_maxTuples, "_v_maxTuples"},
  {&__pyx_n__v_name, "_v_name"},
  {&__pyx_n__v_objectID, "_v_objectID"},
  {&__pyx_n__v_parent, "_v_parent"},
  {&__pyx_n__v_recarray, "_v_recarray"},
  {&__pyx_n__v_version, "_v_version"},
  {&__pyx_n_append, "append"},
  {&__pyx_n_array, "array"},
  {&__pyx_n_atom, "atom"},
  {&__pyx_n_byteorder, "byteorder"},
  {&__pyx_n_cPickle, "cPickle"},
  {&__pyx_n_calcBufferSize, "calcBufferSize"},
  {&__pyx_n_colnames, "colnames"},
  {&__pyx_n_complevel, "complevel"},
  {&__pyx_n_complib, "complib"},
  {&__pyx_n_copy, "copy"},
  {&__pyx_n_dsetname, "dsetname"},
  {&__pyx_n_dumps, "dumps"},
  {&__pyx_n_exc_info, "exc_info"},
  {&__pyx_n_extdim, "extdim"},
  {&__pyx_n_filters, "filters"},
  {&__pyx_n_flavor, "flavor"},
  {&__pyx_n_fletcher32, "fletcher32"},
  {&__pyx_n_getExtVersion, "getExtVersion"},
  {&__pyx_n_getHDF5Version, "getHDF5Version"},
  {&__pyx_n_getIndices, "getIndices"},
  {&__pyx_n_getPyTablesVersion, "getPyTablesVersion"},
  {&__pyx_n_hasattr, "hasattr"},
  {&__pyx_n_init, "init"},
  {&__pyx_n_insert, "insert"},
  {&__pyx_n_isHDF5, "isHDF5"},
  {&__pyx_n_isPyTablesFile, "isPyTablesFile"},
  {&__pyx_n_isfile, "isfile"},
  {&__pyx_n_isinstance, "isinstance"},
  {&__pyx_n_itemsize, "itemsize"},
  {&__pyx_n_iter, "iter"},
  {&__pyx_n_join, "join"},
  {&__pyx_n_len, "len"},
  {&__pyx_n_list, "list"},
  {&__pyx_n_memmap, "memmap"},
  {&__pyx_n_mode, "mode"},
  {&__pyx_n_nrows, "nrows"},
  {&__pyx_n_numarray, "numarray"},
  {&__pyx_n_objectID, "objectID"},
  {&__pyx_n_os, "os"},
  {&__pyx_n_path, "path"},
  {&__pyx_n_range, "range"},
  {&__pyx_n_read_f_attr, "read_f_attr"},
  {&__pyx_n_records, "records"},
  {&__pyx_n_repr, "repr"},
  {&__pyx_n_rowsize, "rowsize"},
  {&__pyx_n_shape, "shape"},
  {&__pyx_n_shuffle, "shuffle"},
  {&__pyx_n_str, "str"},
  {&__pyx_n_strings, "strings"},
  {&__pyx_n_sys, "sys"},
  {&__pyx_n_toclass, "toclass"},
  {&__pyx_n_toenum, "toenum"},
  {&__pyx_n_tuple, "tuple"},
  {&__pyx_n_type, "type"},
  {&__pyx_n_types, "types"},
  {&__pyx_n_unknown, "unknown"},
  {&__pyx_n_utils, "utils"},
  {&__pyx_n_warn, "warn"},
  {&__pyx_n_warnings, "warnings"},
  {&__pyx_n_whichClass, "whichClass"},
  {&__pyx_n_whichLibVersion, "whichLibVersion"},
  {&__pyx_n_write, "write"},
  {&__pyx_n_zlib, "zlib"},
  {&__pyx_n_zlib_imported, "zlib_imported"},
  {0, 0}
};

static __Pyx_StringTabEntry __pyx_string_tab[] = {
  {&__pyx_k1p, __pyx_k1, sizeof(__pyx_k1)},
  {&__pyx_k20p, __pyx_k20, sizeof(__pyx_k20)},
  {&__pyx_k25p, __pyx_k25, sizeof(__pyx_k25)},
  {&__pyx_k26p, __pyx_k26, sizeof(__pyx_k26)},
  {&__pyx_k27p, __pyx_k27, sizeof(__pyx_k27)},
  {&__pyx_k36p, __pyx_k36, sizeof(__pyx_k36)},
  {&__pyx_k44p, __pyx_k44, sizeof(__pyx_k44)},
  {&__pyx_k46p, __pyx_k46, sizeof(__pyx_k46)},
  {&__pyx_k48p, __pyx_k48, sizeof(__pyx_k48)},
  {&__pyx_k49p, __pyx_k49, sizeof(__pyx_k49)},
  {&__pyx_k50p, __pyx_k50, sizeof(__pyx_k50)},
  {&__pyx_k51p, __pyx_k51, sizeof(__pyx_k51)},
  {&__pyx_k52p, __pyx_k52, sizeof(__pyx_k52)},
  {&__pyx_k53p, __pyx_k53, sizeof(__pyx_k53)},
  {&__pyx_k54p, __pyx_k54, sizeof(__pyx_k54)},
  {&__pyx_k55p, __pyx_k55, sizeof(__pyx_k55)},
  {&__pyx_k56p, __pyx_k56, sizeof(__pyx_k56)},
  {&__pyx_k57p, __pyx_k57, sizeof(__pyx_k57)},
  {&__pyx_k58p, __pyx_k58, sizeof(__pyx_k58)},
  {&__pyx_k59p, __pyx_k59, sizeof(__pyx_k59)},
  {&__pyx_k60p, __pyx_k60, sizeof(__pyx_k60)},
  {&__pyx_k61p, __pyx_k61, sizeof(__pyx_k61)},
  {&__pyx_k62p, __pyx_k62, sizeof(__pyx_k62)},
  {&__pyx_k63p, __pyx_k63, sizeof(__pyx_k63)},
  {&__pyx_k64p, __pyx_k64, sizeof(__pyx_k64)},
  {&__pyx_k65p, __pyx_k65, sizeof(__pyx_k65)},
  {&__pyx_k66p, __pyx_k66, sizeof(__pyx_k66)},
  {&__pyx_k67p, __pyx_k67, sizeof(__pyx_k67)},
  {&__pyx_k68p, __pyx_k68, sizeof(__pyx_k68)},
  {&__pyx_k69p, __pyx_k69, sizeof(__pyx_k69)},
  {&__pyx_k70p, __pyx_k70, sizeof(__pyx_k70)},
  {&__pyx_k71p, __pyx_k71, sizeof(__pyx_k71)},
  {&__pyx_k72p, __pyx_k72, sizeof(__pyx_k72)},
  {&__pyx_k73p, __pyx_k73, sizeof(__pyx_k73)},
  {&__pyx_k74p, __pyx_k74, sizeof(__pyx_k74)},
  {&__pyx_k75p, __pyx_k75, sizeof(__pyx_k75)},
  {&__pyx_k76p, __pyx_k76, sizeof(__pyx_k76)},
  {&__pyx_k77p, __pyx_k77, sizeof(__pyx_k77)},
  {&__pyx_k78p, __pyx_k78, sizeof(__pyx_k78)},
  {&__pyx_k79p, __pyx_k79, sizeof(__pyx_k79)},
  {&__pyx_k80p, __pyx_k80, sizeof(__pyx_k80)},
  {&__pyx_k81p, __pyx_k81, sizeof(__pyx_k81)},
  {&__pyx_k82p, __pyx_k82, sizeof(__pyx_k82)},
  {&__pyx_k84p, __pyx_k84, sizeof(__pyx_k84)},
  {&__pyx_k85p, __pyx_k85, sizeof(__pyx_k85)},
  {&__pyx_k86p, __pyx_k86, sizeof(__pyx_k86)},
  {&__pyx_k87p, __pyx_k87, sizeof(__pyx_k87)},
  {&__pyx_k88p, __pyx_k88, sizeof(__pyx_k88)},
  {&__pyx_k89p, __pyx_k89, sizeof(__pyx_k89)},
  {&__pyx_k90p, __pyx_k90, sizeof(__pyx_k90)},
  {&__pyx_k91p, __pyx_k91, sizeof(__pyx_k91)},
  {&__pyx_k92p, __pyx_k92, sizeof(__pyx_k92)},
  {&__pyx_k94p, __pyx_k94, sizeof(__pyx_k94)},
  {&__pyx_k95p, __pyx_k95, sizeof(__pyx_k95)},
  {&__pyx_k96p, __pyx_k96, sizeof(__pyx_k96)},
  {&__pyx_k102p, __pyx_k102, sizeof(__pyx_k102)},
  {&__pyx_k101p, __pyx_k101, sizeof(__pyx_k101)},
  {&__pyx_k105p, __pyx_k105, sizeof(__pyx_k105)},
  {&__pyx_k104p, __pyx_k104, sizeof(__pyx_k104)},
  {&__pyx_k107p, __pyx_k107, sizeof(__pyx_k107)},
  {&__pyx_k106p, __pyx_k106, sizeof(__pyx_k106)},
  {&__pyx_k108p, __pyx_k108, sizeof(__pyx_k108)},
  {&__pyx_k109p, __pyx_k109, sizeof(__pyx_k109)},
  {&__pyx_k110p, __pyx_k110, sizeof(__pyx_k110)},
  {&__pyx_k111p, __pyx_k111, sizeof(__pyx_k111)},
  {&__pyx_k112p, __pyx_k112, sizeof(__pyx_k112)},
  {&__pyx_k113p, __pyx_k113, sizeof(__pyx_k113)},
  {&__pyx_k114p, __pyx_k114, sizeof(__pyx_k114)},
  {&__pyx_k115p, __pyx_k115, sizeof(__pyx_k115)},
  {&__pyx_k121p, __pyx_k121, sizeof(__pyx_k121)},
  {&__pyx_k124p, __pyx_k124, sizeof(__pyx_k124)},
  {&__pyx_k125p, __pyx_k125, sizeof(__pyx_k125)},
  {&__pyx_k126p, __pyx_k126, sizeof(__pyx_k126)},
  {&__pyx_k127p, __pyx_k127, sizeof(__pyx_k127)},
  {&__pyx_k128p, __pyx_k128, sizeof(__pyx_k128)},
  {&__pyx_k129p, __pyx_k129, sizeof(__pyx_k129)},
  {&__pyx_k132p, __pyx_k132, sizeof(__pyx_k132)},
  {&__pyx_k133p, __pyx_k133, sizeof(__pyx_k133)},
  {&__pyx_k134p, __pyx_k134, sizeof(__pyx_k134)},
  {0, 0, 0}
};

static PyObject *__pyx_tp_new_13hdf5Extension_File(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = (*t->tp_alloc)(t, 0);
  struct __pyx_obj_13hdf5Extension_File *p = (struct __pyx_obj_13hdf5Extension_File *)o;
  if (__pyx_f_13hdf5Extension_4File___new__(o, a, k) < 0) {
    Py_DECREF(o); o = 0;
  }
  return o;
}

static void __pyx_tp_dealloc_13hdf5Extension_File(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_File *p = (struct __pyx_obj_13hdf5Extension_File *)o;
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++o->ob_refcnt;
    __pyx_f_13hdf5Extension_4File___dealloc__(o);
    if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
    --o->ob_refcnt;
    PyErr_Restore(etype, eval, etb);
  }
  (*o->ob_type->tp_free)(o);
}

static int __pyx_tp_traverse_13hdf5Extension_File(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_13hdf5Extension_File *p = (struct __pyx_obj_13hdf5Extension_File *)o;
  return 0;
}

static int __pyx_tp_clear_13hdf5Extension_File(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_File *p = (struct __pyx_obj_13hdf5Extension_File *)o;
  return 0;
}

static struct PyMethodDef __pyx_methods_13hdf5Extension_File[] = {
  {"_getFileId", (PyCFunction)__pyx_f_13hdf5Extension_4File__getFileId, METH_VARARGS|METH_KEYWORDS, 0},
  {"_closeFile", (PyCFunction)__pyx_f_13hdf5Extension_4File__closeFile, METH_VARARGS|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_File = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_divide*/
  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*/
  0, /*nb_coerce*/
  0, /*nb_int*/
  0, /*nb_long*/
  0, /*nb_float*/
  0, /*nb_oct*/
  0, /*nb_hex*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_divide*/
  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*/
};

static PySequenceMethods __pyx_tp_as_sequence_File = {
  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_File = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_File = {
  0, /*bf_getreadbuffer*/
  0, /*bf_getwritebuffer*/
  0, /*bf_getsegcount*/
  0, /*bf_getcharbuffer*/
};

statichere PyTypeObject __pyx_type_13hdf5Extension_File = {
  PyObject_HEAD_INIT(0)
  0, /*ob_size*/
  "hdf5Extension.File", /*tp_name*/
  sizeof(struct __pyx_obj_13hdf5Extension_File), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_13hdf5Extension_File, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_compare*/
  0, /*tp_repr*/
  &__pyx_tp_as_number_File, /*tp_as_number*/
  &__pyx_tp_as_sequence_File, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_File, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_File, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_13hdf5Extension_File, /*tp_traverse*/
  __pyx_tp_clear_13hdf5Extension_File, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_13hdf5Extension_File, /*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_13hdf5Extension_File, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
};

static PyObject *__pyx_tp_new_13hdf5Extension_AttributeSet(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = (*t->tp_alloc)(t, 0);
  struct __pyx_obj_13hdf5Extension_AttributeSet *p = (struct __pyx_obj_13hdf5Extension_AttributeSet *)o;
  p->node = Py_None; Py_INCREF(p->node);
  return o;
}

static void __pyx_tp_dealloc_13hdf5Extension_AttributeSet(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_AttributeSet *p = (struct __pyx_obj_13hdf5Extension_AttributeSet *)o;
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++o->ob_refcnt;
    __pyx_f_13hdf5Extension_12AttributeSet___dealloc__(o);
    if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
    --o->ob_refcnt;
    PyErr_Restore(etype, eval, etb);
  }
  Py_XDECREF(p->node);
  (*o->ob_type->tp_free)(o);
}

static int __pyx_tp_traverse_13hdf5Extension_AttributeSet(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_13hdf5Extension_AttributeSet *p = (struct __pyx_obj_13hdf5Extension_AttributeSet *)o;
  if (p->node) {
    e = (*v)(p->node, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_13hdf5Extension_AttributeSet(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_AttributeSet *p = (struct __pyx_obj_13hdf5Extension_AttributeSet *)o;
  Py_XDECREF(p->node);
  p->node = Py_None; Py_INCREF(p->node);
  return 0;
}

static struct PyMethodDef __pyx_methods_13hdf5Extension_AttributeSet[] = {
  {"_g_new", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_new, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_listAttr", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_listAttr, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_setAttr", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_setAttr, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_setAttrStr", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrStr, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_setAttrChar", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrChar, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_setAttrShort", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrShort, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_setAttrInt", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrInt, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_setAttrFloat", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrFloat, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_setAttrDouble", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_setAttrDouble, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_getAttr", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_getAttr, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_getSysAttr", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_getSysAttr, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_getChildSysAttr", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_getChildSysAttr, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_getChildAttr", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_getChildAttr, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_getNodeAttr", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_getNodeAttr, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_remove", (PyCFunction)__pyx_f_13hdf5Extension_12AttributeSet__g_remove, METH_VARARGS|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_AttributeSet = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_divide*/
  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*/
  0, /*nb_coerce*/
  0, /*nb_int*/
  0, /*nb_long*/
  0, /*nb_float*/
  0, /*nb_oct*/
  0, /*nb_hex*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_divide*/
  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*/
};

static PySequenceMethods __pyx_tp_as_sequence_AttributeSet = {
  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_AttributeSet = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_AttributeSet = {
  0, /*bf_getreadbuffer*/
  0, /*bf_getwritebuffer*/
  0, /*bf_getsegcount*/
  0, /*bf_getcharbuffer*/
};

statichere PyTypeObject __pyx_type_13hdf5Extension_AttributeSet = {
  PyObject_HEAD_INIT(0)
  0, /*ob_size*/
  "hdf5Extension.AttributeSet", /*tp_name*/
  sizeof(struct __pyx_obj_13hdf5Extension_AttributeSet), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_13hdf5Extension_AttributeSet, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_compare*/
  0, /*tp_repr*/
  &__pyx_tp_as_number_AttributeSet, /*tp_as_number*/
  &__pyx_tp_as_sequence_AttributeSet, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_AttributeSet, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_AttributeSet, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_13hdf5Extension_AttributeSet, /*tp_traverse*/
  __pyx_tp_clear_13hdf5Extension_AttributeSet, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_13hdf5Extension_AttributeSet, /*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_13hdf5Extension_AttributeSet, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
};

static PyObject *__pyx_tp_new_13hdf5Extension_Group(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = (*t->tp_alloc)(t, 0);
  struct __pyx_obj_13hdf5Extension_Group *p = (struct __pyx_obj_13hdf5Extension_Group *)o;
  return o;
}

static void __pyx_tp_dealloc_13hdf5Extension_Group(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_Group *p = (struct __pyx_obj_13hdf5Extension_Group *)o;
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++o->ob_refcnt;
    __pyx_f_13hdf5Extension_5Group___dealloc__(o);
    if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
    --o->ob_refcnt;
    PyErr_Restore(etype, eval, etb);
  }
  (*o->ob_type->tp_free)(o);
}

static int __pyx_tp_traverse_13hdf5Extension_Group(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_13hdf5Extension_Group *p = (struct __pyx_obj_13hdf5Extension_Group *)o;
  return 0;
}

static int __pyx_tp_clear_13hdf5Extension_Group(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_Group *p = (struct __pyx_obj_13hdf5Extension_Group *)o;
  return 0;
}

static struct PyMethodDef __pyx_methods_13hdf5Extension_Group[] = {
  {"_g_new", (PyCFunction)__pyx_f_13hdf5Extension_5Group__g_new, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_createGroup", (PyCFunction)__pyx_f_13hdf5Extension_5Group__g_createGroup, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_openGroup", (PyCFunction)__pyx_f_13hdf5Extension_5Group__g_openGroup, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_listGroup", (PyCFunction)__pyx_f_13hdf5Extension_5Group__g_listGroup, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_closeGroup", (PyCFunction)__pyx_f_13hdf5Extension_5Group__g_closeGroup, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_renameNode", (PyCFunction)__pyx_f_13hdf5Extension_5Group__g_renameNode, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_deleteGroup", (PyCFunction)__pyx_f_13hdf5Extension_5Group__g_deleteGroup, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_deleteLeaf", (PyCFunction)__pyx_f_13hdf5Extension_5Group__g_deleteLeaf, METH_VARARGS|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_Group = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_divide*/
  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*/
  0, /*nb_coerce*/
  0, /*nb_int*/
  0, /*nb_long*/
  0, /*nb_float*/
  0, /*nb_oct*/
  0, /*nb_hex*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_divide*/
  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*/
};

static PySequenceMethods __pyx_tp_as_sequence_Group = {
  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_Group = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_Group = {
  0, /*bf_getreadbuffer*/
  0, /*bf_getwritebuffer*/
  0, /*bf_getsegcount*/
  0, /*bf_getcharbuffer*/
};

statichere PyTypeObject __pyx_type_13hdf5Extension_Group = {
  PyObject_HEAD_INIT(0)
  0, /*ob_size*/
  "hdf5Extension.Group", /*tp_name*/
  sizeof(struct __pyx_obj_13hdf5Extension_Group), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_13hdf5Extension_Group, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_compare*/
  0, /*tp_repr*/
  &__pyx_tp_as_number_Group, /*tp_as_number*/
  &__pyx_tp_as_sequence_Group, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_Group, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_Group, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_13hdf5Extension_Group, /*tp_traverse*/
  __pyx_tp_clear_13hdf5Extension_Group, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_13hdf5Extension_Group, /*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_13hdf5Extension_Group, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
};

static PyObject *__pyx_tp_new_13hdf5Extension_Table(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = (*t->tp_alloc)(t, 0);
  struct __pyx_obj_13hdf5Extension_Table *p = (struct __pyx_obj_13hdf5Extension_Table *)o;
  p->mmfilew = Py_None; Py_INCREF(p->mmfilew);
  p->mmfiler = Py_None; Py_INCREF(p->mmfiler);
  return o;
}

static void __pyx_tp_dealloc_13hdf5Extension_Table(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_Table *p = (struct __pyx_obj_13hdf5Extension_Table *)o;
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++o->ob_refcnt;
    __pyx_f_13hdf5Extension_5Table___dealloc__(o);
    if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
    --o->ob_refcnt;
    PyErr_Restore(etype, eval, etb);
  }
  Py_XDECREF(p->mmfilew);
  Py_XDECREF(p->mmfiler);
  (*o->ob_type->tp_free)(o);
}

static int __pyx_tp_traverse_13hdf5Extension_Table(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_13hdf5Extension_Table *p = (struct __pyx_obj_13hdf5Extension_Table *)o;
  if (p->mmfilew) {
    e = (*v)(p->mmfilew, a); if (e) return e;
  }
  if (p->mmfiler) {
    e = (*v)(p->mmfiler, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_13hdf5Extension_Table(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_Table *p = (struct __pyx_obj_13hdf5Extension_Table *)o;
  Py_XDECREF(p->mmfilew);
  p->mmfilew = Py_None; Py_INCREF(p->mmfilew);
  Py_XDECREF(p->mmfiler);
  p->mmfiler = Py_None; Py_INCREF(p->mmfiler);
  return 0;
}

static struct PyMethodDef __pyx_methods_13hdf5Extension_Table[] = {
  {"_g_new", (PyCFunction)__pyx_f_13hdf5Extension_5Table__g_new, METH_VARARGS|METH_KEYWORDS, 0},
  {"_createTable", (PyCFunction)__pyx_f_13hdf5Extension_5Table__createTable, METH_VARARGS|METH_KEYWORDS, 0},
  {"_open_append", (PyCFunction)__pyx_f_13hdf5Extension_5Table__open_append, METH_VARARGS|METH_KEYWORDS, 0},
  {"_append_records", (PyCFunction)__pyx_f_13hdf5Extension_5Table__append_records, METH_VARARGS|METH_KEYWORDS, 0},
  {"_close_append", (PyCFunction)__pyx_f_13hdf5Extension_5Table__close_append, METH_VARARGS|METH_KEYWORDS, 0},
  {"_getTableInfo", (PyCFunction)__pyx_f_13hdf5Extension_5Table__getTableInfo, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_5Table__getTableInfo},
  {"_open_read", (PyCFunction)__pyx_f_13hdf5Extension_5Table__open_read, METH_VARARGS|METH_KEYWORDS, 0},
  {"_read_field_name", (PyCFunction)__pyx_f_13hdf5Extension_5Table__read_field_name, METH_VARARGS|METH_KEYWORDS, 0},
  {"_read_field_index", (PyCFunction)__pyx_f_13hdf5Extension_5Table__read_field_index, METH_VARARGS|METH_KEYWORDS, 0},
  {"_read_records", (PyCFunction)__pyx_f_13hdf5Extension_5Table__read_records, METH_VARARGS|METH_KEYWORDS, 0},
  {"_read_elements_orig", (PyCFunction)__pyx_f_13hdf5Extension_5Table__read_elements_orig, METH_VARARGS|METH_KEYWORDS, 0},
  {"_close_read", (PyCFunction)__pyx_f_13hdf5Extension_5Table__close_read, METH_VARARGS|METH_KEYWORDS, 0},
  {"_remove_row", (PyCFunction)__pyx_f_13hdf5Extension_5Table__remove_row, METH_VARARGS|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_Table = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_divide*/
  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*/
  0, /*nb_coerce*/
  0, /*nb_int*/
  0, /*nb_long*/
  0, /*nb_float*/
  0, /*nb_oct*/
  0, /*nb_hex*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_divide*/
  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*/
};

static PySequenceMethods __pyx_tp_as_sequence_Table = {
  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_Table = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_Table = {
  0, /*bf_getreadbuffer*/
  0, /*bf_getwritebuffer*/
  0, /*bf_getsegcount*/
  0, /*bf_getcharbuffer*/
};

statichere PyTypeObject __pyx_type_13hdf5Extension_Table = {
  PyObject_HEAD_INIT(0)
  0, /*ob_size*/
  "hdf5Extension.Table", /*tp_name*/
  sizeof(struct __pyx_obj_13hdf5Extension_Table), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_13hdf5Extension_Table, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_compare*/
  0, /*tp_repr*/
  &__pyx_tp_as_number_Table, /*tp_as_number*/
  &__pyx_tp_as_sequence_Table, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_Table, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_Table, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_13hdf5Extension_Table, /*tp_traverse*/
  __pyx_tp_clear_13hdf5Extension_Table, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_13hdf5Extension_Table, /*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_13hdf5Extension_Table, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
};

static PyObject *__pyx_tp_new_13hdf5Extension_Row(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = (*t->tp_alloc)(t, 0);
  struct __pyx_obj_13hdf5Extension_Row *p = (struct __pyx_obj_13hdf5Extension_Row *)o;
  p->_table = Py_None; Py_INCREF(p->_table);
  p->_fields = Py_None; Py_INCREF(p->_fields);
  p->_recarray = Py_None; Py_INCREF(p->_recarray);
  p->_saveBufferedRows = Py_None; Py_INCREF(p->_saveBufferedRows);
  p->_indexes = Py_None; Py_INCREF(p->_indexes);
  if (__pyx_f_13hdf5Extension_3Row___new__(o, a, k) < 0) {
    Py_DECREF(o); o = 0;
  }
  return o;
}

static void __pyx_tp_dealloc_13hdf5Extension_Row(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_Row *p = (struct __pyx_obj_13hdf5Extension_Row *)o;
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++o->ob_refcnt;
    __pyx_f_13hdf5Extension_3Row___dealloc__(o);
    if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
    --o->ob_refcnt;
    PyErr_Restore(etype, eval, etb);
  }
  Py_XDECREF(p->_table);
  Py_XDECREF(p->_fields);
  Py_XDECREF(p->_recarray);
  Py_XDECREF(p->_saveBufferedRows);
  Py_XDECREF(p->_indexes);
  (*o->ob_type->tp_free)(o);
}

static int __pyx_tp_traverse_13hdf5Extension_Row(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_13hdf5Extension_Row *p = (struct __pyx_obj_13hdf5Extension_Row *)o;
  if (p->_table) {
    e = (*v)(p->_table, a); if (e) return e;
  }
  if (p->_fields) {
    e = (*v)(p->_fields, a); if (e) return e;
  }
  if (p->_recarray) {
    e = (*v)(p->_recarray, a); if (e) return e;
  }
  if (p->_saveBufferedRows) {
    e = (*v)(p->_saveBufferedRows, a); if (e) return e;
  }
  if (p->_indexes) {
    e = (*v)(p->_indexes, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_13hdf5Extension_Row(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_Row *p = (struct __pyx_obj_13hdf5Extension_Row *)o;
  Py_XDECREF(p->_table);
  p->_table = Py_None; Py_INCREF(p->_table);
  Py_XDECREF(p->_fields);
  p->_fields = Py_None; Py_INCREF(p->_fields);
  Py_XDECREF(p->_recarray);
  p->_recarray = Py_None; Py_INCREF(p->_recarray);
  Py_XDECREF(p->_saveBufferedRows);
  p->_saveBufferedRows = Py_None; Py_INCREF(p->_saveBufferedRows);
  Py_XDECREF(p->_indexes);
  p->_indexes = Py_None; Py_INCREF(p->_indexes);
  return 0;
}
static PyObject *__pyx_sq_item_13hdf5Extension_Row(PyObject *o, int i) {
  PyObject *r;
  PyObject *x = PyInt_FromLong(i); if(!x) return 0;
  r = o->ob_type->tp_as_mapping->mp_subscript(o, x);
  Py_DECREF(x);
  return r;
}

static int __pyx_mp_ass_subscript_13hdf5Extension_Row(PyObject *o, PyObject *i, PyObject *v) {
  if (v) {
    return __pyx_f_13hdf5Extension_3Row___setitem__(o, i, v);
  }
  else {
    PyErr_Format(PyExc_NotImplementedError,
      "Subscript deletion not supported by %s", o->ob_type->tp_name);
    return -1;
  }
}

static struct PyMethodDef __pyx_methods_13hdf5Extension_Row[] = {
  {"_newBuffer", (PyCFunction)__pyx_f_13hdf5Extension_3Row__newBuffer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_3Row__newBuffer},
  {"_initLoop", (PyCFunction)__pyx_f_13hdf5Extension_3Row__initLoop, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_3Row__initLoop},
  {"_fillCol", (PyCFunction)__pyx_f_13hdf5Extension_3Row__fillCol, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_3Row__fillCol},
  {"nrow", (PyCFunction)__pyx_f_13hdf5Extension_3Row_nrow, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_3Row_nrow},
  {"append", (PyCFunction)__pyx_f_13hdf5Extension_3Row_append, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_3Row_append},
  {"_setUnsavedNRows", (PyCFunction)__pyx_f_13hdf5Extension_3Row__setUnsavedNRows, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_3Row__setUnsavedNRows},
  {"_getUnsavedNRows", (PyCFunction)__pyx_f_13hdf5Extension_3Row__getUnsavedNRows, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_3Row__getUnsavedNRows},
  {"_incUnsavedNRows", (PyCFunction)__pyx_f_13hdf5Extension_3Row__incUnsavedNRows, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_3Row__incUnsavedNRows},
  {"_cleanup", (PyCFunction)__pyx_f_13hdf5Extension_3Row__cleanup, METH_VARARGS|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_Row = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_divide*/
  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*/
  0, /*nb_coerce*/
  0, /*nb_int*/
  0, /*nb_long*/
  0, /*nb_float*/
  0, /*nb_oct*/
  0, /*nb_hex*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_divide*/
  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*/
};

static PySequenceMethods __pyx_tp_as_sequence_Row = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_13hdf5Extension_Row, /*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_Row = {
  0, /*mp_length*/
  __pyx_f_13hdf5Extension_3Row___getitem__, /*mp_subscript*/
  __pyx_mp_ass_subscript_13hdf5Extension_Row, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_Row = {
  0, /*bf_getreadbuffer*/
  0, /*bf_getwritebuffer*/
  0, /*bf_getsegcount*/
  0, /*bf_getcharbuffer*/
};

statichere PyTypeObject __pyx_type_13hdf5Extension_Row = {
  PyObject_HEAD_INIT(0)
  0, /*ob_size*/
  "hdf5Extension.Row", /*tp_name*/
  sizeof(struct __pyx_obj_13hdf5Extension_Row), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_13hdf5Extension_Row, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_compare*/
  __pyx_f_13hdf5Extension_3Row___repr__, /*tp_repr*/
  &__pyx_tp_as_number_Row, /*tp_as_number*/
  &__pyx_tp_as_sequence_Row, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_Row, /*tp_as_mapping*/
  0, /*tp_hash*/
  __pyx_f_13hdf5Extension_3Row___call__, /*tp_call*/
  __pyx_f_13hdf5Extension_3Row___str__, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_Row, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "Row Class\n\n  This class hosts accessors to a recarray row. The fields on a\n  recarray can be accessed both as items (__getitem__/__setitem__),\n  i.e. following the \"map\" protocol.\n    \n  ", /*tp_doc*/
  __pyx_tp_traverse_13hdf5Extension_Row, /*tp_traverse*/
  __pyx_tp_clear_13hdf5Extension_Row, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  __pyx_f_13hdf5Extension_3Row___iter__, /*tp_iter*/
  __pyx_f_13hdf5Extension_3Row___next__, /*tp_iternext*/
  __pyx_methods_13hdf5Extension_Row, /*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_13hdf5Extension_Row, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
};

static PyObject *__pyx_tp_new_13hdf5Extension_Array(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = (*t->tp_alloc)(t, 0);
  struct __pyx_obj_13hdf5Extension_Array *p = (struct __pyx_obj_13hdf5Extension_Array *)o;
  return o;
}

static void __pyx_tp_dealloc_13hdf5Extension_Array(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_Array *p = (struct __pyx_obj_13hdf5Extension_Array *)o;
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++o->ob_refcnt;
    __pyx_f_13hdf5Extension_5Array___dealloc__(o);
    if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
    --o->ob_refcnt;
    PyErr_Restore(etype, eval, etb);
  }
  (*o->ob_type->tp_free)(o);
}

static int __pyx_tp_traverse_13hdf5Extension_Array(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_13hdf5Extension_Array *p = (struct __pyx_obj_13hdf5Extension_Array *)o;
  return 0;
}

static int __pyx_tp_clear_13hdf5Extension_Array(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_Array *p = (struct __pyx_obj_13hdf5Extension_Array *)o;
  return 0;
}

static struct PyMethodDef __pyx_methods_13hdf5Extension_Array[] = {
  {"_g_new", (PyCFunction)__pyx_f_13hdf5Extension_5Array__g_new, METH_VARARGS|METH_KEYWORDS, 0},
  {"_createArray", (PyCFunction)__pyx_f_13hdf5Extension_5Array__createArray, METH_VARARGS|METH_KEYWORDS, 0},
  {"_createEArray", (PyCFunction)__pyx_f_13hdf5Extension_5Array__createEArray, METH_VARARGS|METH_KEYWORDS, 0},
  {"_append", (PyCFunction)__pyx_f_13hdf5Extension_5Array__append, METH_VARARGS|METH_KEYWORDS, 0},
  {"_openArray", (PyCFunction)__pyx_f_13hdf5Extension_5Array__openArray, METH_VARARGS|METH_KEYWORDS, 0},
  {"_readArray", (PyCFunction)__pyx_f_13hdf5Extension_5Array__readArray, METH_VARARGS|METH_KEYWORDS, 0},
  {"_g_readSlice", (PyCFunction)__pyx_f_13hdf5Extension_5Array__g_readSlice, METH_VARARGS|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_Array = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_divide*/
  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*/
  0, /*nb_coerce*/
  0, /*nb_int*/
  0, /*nb_long*/
  0, /*nb_float*/
  0, /*nb_oct*/
  0, /*nb_hex*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_divide*/
  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*/
};

static PySequenceMethods __pyx_tp_as_sequence_Array = {
  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_Array = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_Array = {
  0, /*bf_getreadbuffer*/
  0, /*bf_getwritebuffer*/
  0, /*bf_getsegcount*/
  0, /*bf_getcharbuffer*/
};

statichere PyTypeObject __pyx_type_13hdf5Extension_Array = {
  PyObject_HEAD_INIT(0)
  0, /*ob_size*/
  "hdf5Extension.Array", /*tp_name*/
  sizeof(struct __pyx_obj_13hdf5Extension_Array), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_13hdf5Extension_Array, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_compare*/
  0, /*tp_repr*/
  &__pyx_tp_as_number_Array, /*tp_as_number*/
  &__pyx_tp_as_sequence_Array, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_Array, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_Array, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_13hdf5Extension_Array, /*tp_traverse*/
  __pyx_tp_clear_13hdf5Extension_Array, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_13hdf5Extension_Array, /*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_13hdf5Extension_Array, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
};

static PyObject *__pyx_tp_new_13hdf5Extension_VLArray(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = (*t->tp_alloc)(t, 0);
  struct __pyx_obj_13hdf5Extension_VLArray *p = (struct __pyx_obj_13hdf5Extension_VLArray *)o;
  p->type = Py_None; Py_INCREF(p->type);
  return o;
}

static void __pyx_tp_dealloc_13hdf5Extension_VLArray(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_VLArray *p = (struct __pyx_obj_13hdf5Extension_VLArray *)o;
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++o->ob_refcnt;
    __pyx_f_13hdf5Extension_7VLArray___dealloc__(o);
    if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
    --o->ob_refcnt;
    PyErr_Restore(etype, eval, etb);
  }
  Py_XDECREF(p->type);
  (*o->ob_type->tp_free)(o);
}

static int __pyx_tp_traverse_13hdf5Extension_VLArray(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_13hdf5Extension_VLArray *p = (struct __pyx_obj_13hdf5Extension_VLArray *)o;
  if (p->type) {
    e = (*v)(p->type, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_13hdf5Extension_VLArray(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_VLArray *p = (struct __pyx_obj_13hdf5Extension_VLArray *)o;
  Py_XDECREF(p->type);
  p->type = Py_None; Py_INCREF(p->type);
  return 0;
}

static struct PyMethodDef __pyx_methods_13hdf5Extension_VLArray[] = {
  {"_g_new", (PyCFunction)__pyx_f_13hdf5Extension_7VLArray__g_new, METH_VARARGS|METH_KEYWORDS, 0},
  {"_createArray", (PyCFunction)__pyx_f_13hdf5Extension_7VLArray__createArray, METH_VARARGS|METH_KEYWORDS, 0},
  {"_append", (PyCFunction)__pyx_f_13hdf5Extension_7VLArray__append, METH_VARARGS|METH_KEYWORDS, 0},
  {"_openArray", (PyCFunction)__pyx_f_13hdf5Extension_7VLArray__openArray, METH_VARARGS|METH_KEYWORDS, 0},
  {"_readArray", (PyCFunction)__pyx_f_13hdf5Extension_7VLArray__readArray, METH_VARARGS|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_VLArray = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_divide*/
  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*/
  0, /*nb_coerce*/
  0, /*nb_int*/
  0, /*nb_long*/
  0, /*nb_float*/
  0, /*nb_oct*/
  0, /*nb_hex*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_divide*/
  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*/
};

static PySequenceMethods __pyx_tp_as_sequence_VLArray = {
  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_VLArray = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_VLArray = {
  0, /*bf_getreadbuffer*/
  0, /*bf_getwritebuffer*/
  0, /*bf_getsegcount*/
  0, /*bf_getcharbuffer*/
};

statichere PyTypeObject __pyx_type_13hdf5Extension_VLArray = {
  PyObject_HEAD_INIT(0)
  0, /*ob_size*/
  "hdf5Extension.VLArray", /*tp_name*/
  sizeof(struct __pyx_obj_13hdf5Extension_VLArray), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_13hdf5Extension_VLArray, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_compare*/
  0, /*tp_repr*/
  &__pyx_tp_as_number_VLArray, /*tp_as_number*/
  &__pyx_tp_as_sequence_VLArray, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_VLArray, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_VLArray, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_13hdf5Extension_VLArray, /*tp_traverse*/
  __pyx_tp_clear_13hdf5Extension_VLArray, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_13hdf5Extension_VLArray, /*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_13hdf5Extension_VLArray, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
};

static PyObject *__pyx_tp_new_13hdf5Extension_UnImplemented(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = (*t->tp_alloc)(t, 0);
  struct __pyx_obj_13hdf5Extension_UnImplemented *p = (struct __pyx_obj_13hdf5Extension_UnImplemented *)o;
  return o;
}

static void __pyx_tp_dealloc_13hdf5Extension_UnImplemented(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_UnImplemented *p = (struct __pyx_obj_13hdf5Extension_UnImplemented *)o;
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++o->ob_refcnt;
    __pyx_f_13hdf5Extension_13UnImplemented___dealloc__(o);
    if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
    --o->ob_refcnt;
    PyErr_Restore(etype, eval, etb);
  }
  (*o->ob_type->tp_free)(o);
}

static int __pyx_tp_traverse_13hdf5Extension_UnImplemented(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_13hdf5Extension_UnImplemented *p = (struct __pyx_obj_13hdf5Extension_UnImplemented *)o;
  return 0;
}

static int __pyx_tp_clear_13hdf5Extension_UnImplemented(PyObject *o) {
  struct __pyx_obj_13hdf5Extension_UnImplemented *p = (struct __pyx_obj_13hdf5Extension_UnImplemented *)o;
  return 0;
}

static struct PyMethodDef __pyx_methods_13hdf5Extension_UnImplemented[] = {
  {"_g_new", (PyCFunction)__pyx_f_13hdf5Extension_13UnImplemented__g_new, METH_VARARGS|METH_KEYWORDS, 0},
  {"_openUnImplemented", (PyCFunction)__pyx_f_13hdf5Extension_13UnImplemented__openUnImplemented, METH_VARARGS|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_UnImplemented = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_divide*/
  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*/
  0, /*nb_coerce*/
  0, /*nb_int*/
  0, /*nb_long*/
  0, /*nb_float*/
  0, /*nb_oct*/
  0, /*nb_hex*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_divide*/
  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*/
};

static PySequenceMethods __pyx_tp_as_sequence_UnImplemented = {
  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_UnImplemented = {
  0, /*mp_length*/
  0, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_UnImplemented = {
  0, /*bf_getreadbuffer*/
  0, /*bf_getwritebuffer*/
  0, /*bf_getsegcount*/
  0, /*bf_getcharbuffer*/
};

statichere PyTypeObject __pyx_type_13hdf5Extension_UnImplemented = {
  PyObject_HEAD_INIT(0)
  0, /*ob_size*/
  "hdf5Extension.UnImplemented", /*tp_name*/
  sizeof(struct __pyx_obj_13hdf5Extension_UnImplemented), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_13hdf5Extension_UnImplemented, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_compare*/
  0, /*tp_repr*/
  &__pyx_tp_as_number_UnImplemented, /*tp_as_number*/
  &__pyx_tp_as_sequence_UnImplemented, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_UnImplemented, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_UnImplemented, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_13hdf5Extension_UnImplemented, /*tp_traverse*/
  __pyx_tp_clear_13hdf5Extension_UnImplemented, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_13hdf5Extension_UnImplemented, /*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_13hdf5Extension_UnImplemented, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
};

static struct PyMethodDef __pyx_methods[] = {
  {"getIndices", (PyCFunction)__pyx_f_13hdf5Extension_getIndices, METH_VARARGS|METH_KEYWORDS, 0},
  {"whichLibVersion", (PyCFunction)__pyx_f_13hdf5Extension_whichLibVersion, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_whichLibVersion},
  {"whichClass", (PyCFunction)__pyx_f_13hdf5Extension_whichClass, METH_VARARGS|METH_KEYWORDS, 0},
  {"isHDF5", (PyCFunction)__pyx_f_13hdf5Extension_isHDF5, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_isHDF5},
  {"isPyTablesFile", (PyCFunction)__pyx_f_13hdf5Extension_isPyTablesFile, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_isPyTablesFile},
  {"getHDF5Version", (PyCFunction)__pyx_f_13hdf5Extension_getHDF5Version, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_getHDF5Version},
  {"getExtVersion", (PyCFunction)__pyx_f_13hdf5Extension_getExtVersion, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_getExtVersion},
  {"getPyTablesVersion", (PyCFunction)__pyx_f_13hdf5Extension_getPyTablesVersion, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_getPyTablesVersion},
  {"read_f_attr", (PyCFunction)__pyx_f_13hdf5Extension_read_f_attr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension_read_f_attr},
  {"_getFilters", (PyCFunction)__pyx_f_13hdf5Extension__getFilters, METH_VARARGS|METH_KEYWORDS, __pyx_doc_13hdf5Extension__getFilters},
  {0, 0, 0, 0}
};

DL_EXPORT(void) inithdf5Extension(void); /*proto*/
DL_EXPORT(void) inithdf5Extension(void) {
  PyObject *__pyx_1 = 0;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  PyObject *__pyx_4 = 0;
  __pyx_m = Py_InitModule4("hdf5Extension", __pyx_methods, __pyx_mdoc, 0, PYTHON_API_VERSION);
  if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;};
  __pyx_b = PyImport_AddModule("__builtin__");
  if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;};
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;};
  if (__Pyx_InternStrings(__pyx_intern_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;};
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;};
  __pyx_ptype_13hdf5Extension__numarray = __Pyx_ImportType("numarray._numarray", "_numarray", sizeof(PyArrayObject)); if (!__pyx_ptype_13hdf5Extension__numarray) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; goto __pyx_L1;}
  if (PyType_Ready(&__pyx_type_13hdf5Extension_File) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; goto __pyx_L1;}
  if (PyObject_SetAttrString(__pyx_m, "File", (PyObject *)&__pyx_type_13hdf5Extension_File) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; goto __pyx_L1;}
  __pyx_ptype_13hdf5Extension_File = &__pyx_type_13hdf5Extension_File;
  __pyx_type_13hdf5Extension_AttributeSet.tp_free = _PyObject_GC_Del;
  if (PyType_Ready(&__pyx_type_13hdf5Extension_AttributeSet) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; goto __pyx_L1;}
  if (PyObject_SetAttrString(__pyx_m, "AttributeSet", (PyObject *)&__pyx_type_13hdf5Extension_AttributeSet) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; goto __pyx_L1;}
  __pyx_ptype_13hdf5Extension_AttributeSet = &__pyx_type_13hdf5Extension_AttributeSet;
  if (PyType_Ready(&__pyx_type_13hdf5Extension_Group) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; goto __pyx_L1;}
  if (PyObject_SetAttrString(__pyx_m, "Group", (PyObject *)&__pyx_type_13hdf5Extension_Group) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; goto __pyx_L1;}
  __pyx_ptype_13hdf5Extension_Group = &__pyx_type_13hdf5Extension_Group;
  __pyx_type_13hdf5Extension_Table.tp_free = _PyObject_GC_Del;
  if (PyType_Ready(&__pyx_type_13hdf5Extension_Table) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; goto __pyx_L1;}
  if (PyObject_SetAttrString(__pyx_m, "Table", (PyObject *)&__pyx_type_13hdf5Extension_Table) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; goto __pyx_L1;}
  __pyx_ptype_13hdf5Extension_Table = &__pyx_type_13hdf5Extension_Table;
  __pyx_type_13hdf5Extension_Row.tp_free = _PyObject_GC_Del;
  if (PyType_Ready(&__pyx_type_13hdf5Extension_Row) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1663; goto __pyx_L1;}
  if (PyObject_SetAttrString(__pyx_m, "Row", (PyObject *)&__pyx_type_13hdf5Extension_Row) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1663; goto __pyx_L1;}
  __pyx_ptype_13hdf5Extension_Row = &__pyx_type_13hdf5Extension_Row;
  if (PyType_Ready(&__pyx_type_13hdf5Extension_Array) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1962; goto __pyx_L1;}
  if (PyObject_SetAttrString(__pyx_m, "Array", (PyObject *)&__pyx_type_13hdf5Extension_Array) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1962; goto __pyx_L1;}
  __pyx_ptype_13hdf5Extension_Array = &__pyx_type_13hdf5Extension_Array;
  __pyx_type_13hdf5Extension_VLArray.tp_free = _PyObject_GC_Del;
  if (PyType_Ready(&__pyx_type_13hdf5Extension_VLArray) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; goto __pyx_L1;}
  if (PyObject_SetAttrString(__pyx_m, "VLArray", (PyObject *)&__pyx_type_13hdf5Extension_VLArray) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; goto __pyx_L1;}
  __pyx_ptype_13hdf5Extension_VLArray = &__pyx_type_13hdf5Extension_VLArray;
  if (PyType_Ready(&__pyx_type_13hdf5Extension_UnImplemented) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2457; goto __pyx_L1;}
  if (PyObject_SetAttrString(__pyx_m, "UnImplemented", (PyObject *)&__pyx_type_13hdf5Extension_UnImplemented) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2457; goto __pyx_L1;}
  __pyx_ptype_13hdf5Extension_UnImplemented = &__pyx_type_13hdf5Extension_UnImplemented;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":39 */
  if (PyObject_SetAttr(__pyx_m, __pyx_n___version__, __pyx_k1p) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; goto __pyx_L1;}

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":42 */
  __pyx_1 = __Pyx_Import(__pyx_n_sys, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_m, __pyx_n_sys, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":42 */
  __pyx_1 = __Pyx_Import(__pyx_n_os, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_m, __pyx_n_os, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":43 */
  __pyx_1 = __Pyx_Import(__pyx_n_warnings, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_m, __pyx_n_warnings, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":44 */
  __pyx_1 = __Pyx_Import(__pyx_n_types, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_m, __pyx_n_types, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":44 */
  __pyx_1 = __Pyx_Import(__pyx_n_cPickle, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_m, __pyx_n_cPickle, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":45 */
  __pyx_1 = __Pyx_Import(__pyx_n_numarray, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_m, __pyx_n_numarray, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":46 */
  __pyx_1 = PyList_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; goto __pyx_L1;}
  Py_INCREF(__pyx_n_records);
  PyList_SET_ITEM(__pyx_1, 0, __pyx_n_records);
  __pyx_2 = __Pyx_Import(__pyx_n_numarray, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_records); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_m, __pyx_n_records, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":47 */
  __pyx_2 = PyList_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; goto __pyx_L1;}
  Py_INCREF(__pyx_n_strings);
  PyList_SET_ITEM(__pyx_2, 0, __pyx_n_strings);
  __pyx_1 = __Pyx_Import(__pyx_n_numarray, __pyx_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_strings); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_m, __pyx_n_strings, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":48 */
  __pyx_1 = PyList_New(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; goto __pyx_L1;}
  Py_INCREF(__pyx_n_memmap);
  PyList_SET_ITEM(__pyx_1, 0, __pyx_n_memmap);
  __pyx_2 = __Pyx_Import(__pyx_n_numarray, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_1 = PyObject_GetAttr(__pyx_2, __pyx_n_memmap); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_m, __pyx_n_memmap, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":49 */
  __pyx_2 = PyList_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
  Py_INCREF(__pyx_n_calcBufferSize);
  PyList_SET_ITEM(__pyx_2, 0, __pyx_n_calcBufferSize);
  __pyx_1 = __Pyx_Import(__pyx_n_utils, __pyx_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_calcBufferSize); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
  if (PyObject_SetAttr(__pyx_m, __pyx_n_calcBufferSize, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":50 */
  /*try:*/ {

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":51 */
    __pyx_1 = __Pyx_Import(__pyx_n_zlib, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L2;}
    if (PyObject_SetAttr(__pyx_m, __pyx_n_zlib, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L2;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":52 */
    __pyx_2 = PyInt_FromLong(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L2;}
    if (PyObject_SetAttr(__pyx_m, __pyx_n_zlib_imported, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L2;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
  }
  goto __pyx_L3;
  __pyx_L2:;
  Py_XDECREF(__pyx_1); __pyx_1 = 0;
  Py_XDECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":53 */
  /*except:*/ {
    __Pyx_AddTraceback("hdf5Extension");
    __pyx_1 = __Pyx_GetExcValue(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
    Py_DECREF(__pyx_1); __pyx_1 = 0;

    /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":54 */
    __pyx_2 = PyInt_FromLong(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
    if (PyObject_SetAttr(__pyx_m, __pyx_n_zlib_imported, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
    Py_DECREF(__pyx_2); __pyx_2 = 0;
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":213 */
  import_libnumarray();

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":217 */
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_records); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_CharType); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  if (PyObject_SetAttr(__pyx_m, __pyx_n_CharType, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":220 */
  __pyx_1 = PyDict_New(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_Bool); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyInt_FromLong(tBool); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_3, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_3, __pyx_n_Int8); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_3 = PyInt_FromLong(tInt8); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_UInt8); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyInt_FromLong(tUInt8); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_3, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_3, __pyx_n_Int16); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_3 = PyInt_FromLong(tInt16); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_UInt16); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyInt_FromLong(tUInt16); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_3, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_3, __pyx_n_Int32); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_3 = PyInt_FromLong(tInt32); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_UInt32); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyInt_FromLong(tUInt32); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_3, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_3, __pyx_n_Int64); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_3 = PyInt_FromLong(tInt64); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_UInt64); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyInt_FromLong(tUInt64); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_3, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; goto __pyx_L1;}
  __pyx_2 = PyObject_GetAttr(__pyx_3, __pyx_n_Float32); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_3 = PyInt_FromLong(tFloat32); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_2, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; goto __pyx_L1;}
  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_Float64); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_2 = PyInt_FromLong(tFloat64); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_3, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_CharType); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; goto __pyx_L1;}
  __pyx_2 = PyInt_FromLong(97); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_1, __pyx_3, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  if (PyObject_SetAttr(__pyx_m, __pyx_n_toenum, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":229 */
  __pyx_3 = PyDict_New(); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  __pyx_2 = PyInt_FromLong(tBool); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  __pyx_4 = PyObject_GetAttr(__pyx_1, __pyx_n_Bool); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  if (PyDict_SetItem(__pyx_3, __pyx_2, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_1 = PyInt_FromLong(tInt8); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; goto __pyx_L1;}
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; goto __pyx_L1;}
  __pyx_4 = PyObject_GetAttr(__pyx_2, __pyx_n_Int8); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  if (PyDict_SetItem(__pyx_3, __pyx_1, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_2 = PyInt_FromLong(tUInt8); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; goto __pyx_L1;}
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; goto __pyx_L1;}
  __pyx_4 = PyObject_GetAttr(__pyx_1, __pyx_n_UInt8); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  if (PyDict_SetItem(__pyx_3, __pyx_2, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_1 = PyInt_FromLong(tInt16); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; goto __pyx_L1;}
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; goto __pyx_L1;}
  __pyx_4 = PyObject_GetAttr(__pyx_2, __pyx_n_Int16); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  if (PyDict_SetItem(__pyx_3, __pyx_1, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_2 = PyInt_FromLong(tUInt16); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; goto __pyx_L1;}
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; goto __pyx_L1;}
  __pyx_4 = PyObject_GetAttr(__pyx_1, __pyx_n_UInt16); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  if (PyDict_SetItem(__pyx_3, __pyx_2, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_1 = PyInt_FromLong(tInt32); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; goto __pyx_L1;}
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; goto __pyx_L1;}
  __pyx_4 = PyObject_GetAttr(__pyx_2, __pyx_n_Int32); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  if (PyDict_SetItem(__pyx_3, __pyx_1, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_2 = PyInt_FromLong(tUInt32); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; goto __pyx_L1;}
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; goto __pyx_L1;}
  __pyx_4 = PyObject_GetAttr(__pyx_1, __pyx_n_UInt32); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  if (PyDict_SetItem(__pyx_3, __pyx_2, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_1 = PyInt_FromLong(tInt64); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; goto __pyx_L1;}
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; goto __pyx_L1;}
  __pyx_4 = PyObject_GetAttr(__pyx_2, __pyx_n_Int64); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  if (PyDict_SetItem(__pyx_3, __pyx_1, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_2 = PyInt_FromLong(tUInt64); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; goto __pyx_L1;}
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; goto __pyx_L1;}
  __pyx_4 = PyObject_GetAttr(__pyx_1, __pyx_n_UInt64); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  if (PyDict_SetItem(__pyx_3, __pyx_2, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_1 = PyInt_FromLong(tFloat32); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; goto __pyx_L1;}
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; goto __pyx_L1;}
  __pyx_4 = PyObject_GetAttr(__pyx_2, __pyx_n_Float32); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  if (PyDict_SetItem(__pyx_3, __pyx_1, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_2 = PyInt_FromLong(tFloat64); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; goto __pyx_L1;}
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_numarray); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; goto __pyx_L1;}
  __pyx_4 = PyObject_GetAttr(__pyx_1, __pyx_n_Float64); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  if (PyDict_SetItem(__pyx_3, __pyx_2, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  Py_DECREF(__pyx_4); __pyx_4 = 0;
  __pyx_1 = PyInt_FromLong(97); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; goto __pyx_L1;}
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_CharType); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; goto __pyx_L1;}
  if (PyDict_SetItem(__pyx_3, __pyx_1, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  Py_DECREF(__pyx_1); __pyx_1 = 0;
  Py_DECREF(__pyx_2); __pyx_2 = 0;
  if (PyObject_SetAttr(__pyx_m, __pyx_n_toclass, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; goto __pyx_L1;}
  Py_DECREF(__pyx_3); __pyx_3 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":708 */
  __pyx_v_13hdf5Extension_lzo_version = register_lzo();

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":718 */
  __pyx_v_13hdf5Extension_ucl_version = register_ucl();

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":1696 */
  __pyx_4 = PyInt_FromLong(0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; goto __pyx_L1;}
  __pyx_k17 = __pyx_4;
  __pyx_4 = 0;
  __pyx_1 = PyInt_FromLong(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; goto __pyx_L1;}
  __pyx_k18 = __pyx_1;
  __pyx_1 = 0;
  __pyx_2 = PyInt_FromLong(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1696; goto __pyx_L1;}
  __pyx_k19 = __pyx_2;
  __pyx_2 = 0;

  /* "/home/falted/PyTables/exports/pytables-0.8.1-dev/src/hdf5Extension.pyx":2476 */
  return;
  __pyx_L1:;
  Py_XDECREF(__pyx_1);
  Py_XDECREF(__pyx_2);
  Py_XDECREF(__pyx_3);
  Py_XDECREF(__pyx_4);
  __Pyx_AddTraceback("hdf5Extension");
}

static char *__pyx_filenames[] = {
  "hdf5Extension.pyx",
};
statichere char **__pyx_f = __pyx_filenames;

/* Runtime support code */

static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) {
    PyObject *__import__ = 0;
    PyObject *empty_list = 0;
    PyObject *module = 0;
    PyObject *global_dict = 0;
    PyObject *empty_dict = 0;
    PyObject *list;
    __import__ = PyObject_GetAttrString(__pyx_b, "__import__");
    if (!__import__)
        goto bad;
    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;
    module = PyObject_CallFunction(__import__, "OOOO",
        name, global_dict, empty_dict, list);
bad:
    Py_XDECREF(empty_list);
    Py_XDECREF(__import__);
    Py_XDECREF(empty_dict);
    return module;
}

static PyObject *__Pyx_GetExcValue(void) {
    PyObject *type = 0, *value = 0, *tb = 0;
    PyObject *result = 0;
    PyThreadState *tstate = PyThreadState_Get();
    PyErr_Fetch(&type, &value, &tb);
    PyErr_NormalizeException(&type, &value, &tb);
    if (PyErr_Occurred())
        goto bad;
    if (!value) {
        value = Py_None;
        Py_INCREF(value);
    }
    Py_XDECREF(tstate->exc_type);
    Py_XDECREF(tstate->exc_value);
    Py_XDECREF(tstate->exc_traceback);
    tstate->exc_type = type;
    tstate->exc_value = value;
    tstate->exc_traceback = tb;
    result = value;
    Py_XINCREF(result);
    type = 0;
    value = 0;
    tb = 0;
bad:
    Py_XDECREF(type);
    Py_XDECREF(value);
    Py_XDECREF(tb);
    return result;
}

static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
    PyObject *result;
    result = PyObject_GetAttr(dict, name);
    if (!result)
        PyErr_SetObject(PyExc_NameError, name);
    return result;
}

static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
    Py_XINCREF(type);
    Py_XINCREF(value);
    Py_XINCREF(tb);
    /* First, check the traceback argument, replacing None with NULL. */
    if (tb == Py_None) {
        Py_DECREF(tb);
        tb = 0;
    }
    else if (tb != NULL && !PyTraceBack_Check(tb)) {
        PyErr_SetString(PyExc_TypeError,
            "raise: arg 3 must be a traceback or None");
        goto raise_error;
    }
    /* Next, replace a missing value with None */
    if (value == NULL) {
        value = Py_None;
        Py_INCREF(value);
    }
    /* Next, repeatedly, replace a tuple exception with its first item */
    while (PyTuple_Check(type) && PyTuple_Size(type) > 0) {
        PyObject *tmp = type;
        type = PyTuple_GET_ITEM(type, 0);
        Py_INCREF(type);
        Py_DECREF(tmp);
    }
    if (PyString_Check(type))
        ;
    else if (PyClass_Check(type))
        ; /*PyErr_NormalizeException(&type, &value, &tb);*/
    else if (PyInstance_Check(type)) {
        /* Raising an instance.  The value should be a dummy. */
        if (value != Py_None) {
            PyErr_SetString(PyExc_TypeError,
              "instance exception may not have a separate value");
            goto raise_error;
        }
        else {
            /* Normalize to raise <class>, <instance> */
            Py_DECREF(value);
            value = type;
            type = (PyObject*) ((PyInstanceObject*)type)->in_class;
            Py_INCREF(type);
        }
    }
    else {
        /* Not something you can raise.  You get an exception
           anyway, just not what you specified :-) */
        PyErr_Format(PyExc_TypeError,
                 "exceptions must be strings, classes, or "
                 "instances, not %s", type->ob_type->tp_name);
        goto raise_error;
    }
    PyErr_Restore(type, value, tb);
    return;
raise_error:
    Py_XDECREF(value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
    return;
}

static void __Pyx_UnpackError(void) {
    PyErr_SetString(PyExc_ValueError, "unpack sequence of wrong size");
}

static PyObject *__Pyx_UnpackItem(PyObject *seq, int i) {
  PyObject *item;
  if (!(item = PySequence_GetItem(seq, i))) {
    if (PyErr_ExceptionMatches(PyExc_IndexError))
    	__Pyx_UnpackError();
  }
  return item;
}

static int __Pyx_EndUnpack(PyObject *seq, int i) {
  PyObject *item;
  if (item = PySequence_GetItem(seq, i)) {
    Py_DECREF(item);
    __Pyx_UnpackError();
    return -1;
  }
  PyErr_Clear();
    return 0;
}

static PyObject *__Pyx_GetStdout(void) {
    PyObject *f = PySys_GetObject("stdout");
    if (!f) {
        PyErr_SetString(PyExc_RuntimeError, "lost sys.stdout");
    }
    return f;
}

static int __Pyx_PrintItem(PyObject *v) {
    PyObject *f;
    
    if (!(f = __Pyx_GetStdout()))
        return -1;
    if (PyFile_SoftSpace(f, 1)) {
        if (PyFile_WriteString(" ", f) < 0)
            return -1;
    }
    if (PyFile_WriteObject(v, f, Py_PRINT_RAW) < 0)
        return -1;
    if (PyString_Check(v)) {
        char *s = PyString_AsString(v);
        int len = PyString_Size(v);
        if (len > 0 &&
            isspace(Py_CHARMASK(s[len-1])) &&
            s[len-1] != ' ')
                PyFile_SoftSpace(f, 0);
    }
    return 0;
}

static int __Pyx_PrintNewline(void) {
    PyObject *f;
    
    if (!(f = __Pyx_GetStdout()))
        return -1;
    if (PyFile_WriteString("\n", f) < 0)
        return -1;
    PyFile_SoftSpace(f, 0);
    return 0;
}

static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
    if (!type) {
        PyErr_Format(PyExc_SystemError, "Missing type object");
        return 0;
    }
    if (obj == Py_None || PyObject_TypeCheck(obj, type))
        return 1;
    PyErr_Format(PyExc_TypeError, "Cannot convert %s to %s",
        obj->ob_type->tp_name, type->tp_name);
    return 0;
}

static int __Pyx_InternStrings(__Pyx_InternTabEntry *t) {
    while (t->p) {
        *t->p = PyString_InternFromString(t->s);
        if (!*t->p)
            return -1;
        ++t;
    }
    return 0;
}

static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
    while (t->p) {
        *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
        if (!*t->p)
            return -1;
        ++t;
    }
    return 0;
}

static PyTypeObject *__Pyx_ImportType(char *module_name, char *class_name, 
    long size) 
{
    PyObject *py_module_name = 0;
    PyObject *py_class_name = 0;
    PyObject *py_name_list = 0;
    PyObject *py_module = 0;
    PyObject *result = 0;
    
    py_module_name = PyString_FromString(module_name);
    if (!py_module_name)
        goto bad;
    py_class_name = PyString_FromString(class_name);
    if (!py_class_name)
        goto bad;
    py_name_list = PyList_New(1);
    if (!py_name_list)
        goto bad;
    Py_INCREF(py_class_name);
    if (PyList_SetItem(py_name_list, 0, py_class_name) < 0)
        goto bad;
    py_module = __Pyx_Import(py_module_name, py_name_list);
    if (!py_module)
        goto bad;
    result = PyObject_GetAttr(py_module, py_class_name);
    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;
    }
    if (((PyTypeObject *)result)->tp_basicsize != size) {
        PyErr_Format(PyExc_ValueError, 
            "%s.%s does not appear to be the correct type object",
            module_name, class_name);
        goto bad;
    }
    goto done;
bad:
    Py_XDECREF(result);
    result = 0;
done:
    Py_XDECREF(py_module_name);
    Py_XDECREF(py_class_name);
    Py_XDECREF(py_name_list);
    return (PyTypeObject *)result;
}

#include "compile.h"
#include "frameobject.h"
#include "traceback.h"

static void __Pyx_AddTraceback(char *funcname) {
    PyObject *py_srcfile = 0;
    PyObject *py_funcname = 0;
    PyObject *py_globals = 0;
    PyObject *empty_tuple = 0;
    PyObject *empty_string = 0;
    PyCodeObject *py_code = 0;
    PyFrameObject *py_frame = 0;
    
    py_srcfile = PyString_FromString(__pyx_filename);
    if (!py_srcfile) goto bad;
    py_funcname = PyString_FromString(funcname);
    if (!py_funcname) goto bad;
    py_globals = PyModule_GetDict(__pyx_m);
    if (!py_globals) goto bad;
    empty_tuple = PyTuple_New(0);
    if (!empty_tuple) goto bad;
    empty_string = PyString_FromString("");
    if (!empty_string) goto bad;
    py_code = PyCode_New(
        0,            /*int argcount,*/
        0,            /*int nlocals,*/
        0,            /*int stacksize,*/
        0,            /*int flags,*/
        empty_string, /*PyObject *code,*/
        empty_tuple,  /*PyObject *consts,*/
        empty_tuple,  /*PyObject *names,*/
        empty_tuple,  /*PyObject *varnames,*/
        empty_tuple,  /*PyObject *freevars,*/
        empty_tuple,  /*PyObject *cellvars,*/
        py_srcfile,   /*PyObject *filename,*/
        py_funcname,  /*PyObject *name,*/
        __pyx_lineno,   /*int firstlineno,*/
        empty_string  /*PyObject *lnotab*/
    );
    if (!py_code) 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 = __pyx_lineno;
    PyTraceBack_Here(py_frame);
bad:
    Py_XDECREF(py_srcfile);
    Py_XDECREF(py_funcname);
    Py_XDECREF(empty_tuple);
    Py_XDECREF(empty_string);
    Py_XDECREF(py_code);
    Py_XDECREF(py_frame);
}
