Integrated H5Part regression test and fixed numerous errors that it discovered.

Finished integrating H5Block and the Fortran interface (untested).
Started adding an H5Block regression test with a few simple tests (all pass).
Added automatic detection of stripe information on lustre, and config option to compile against lustre API.
Moved buffers for H5Block ghost zone disolving out of the file handle and into the h5b_3d_set_view function.
Fixed bug with pointers in the H5Fed file data not being initialized to NULL.
This commit is contained in:
Marc Howison
2010-07-15 19:44:48 +00:00
parent 2c267f173a
commit 7ea00c38f8
50 changed files with 1404 additions and 747 deletions
+17 -2
View File
@@ -16,7 +16,6 @@
#ifndef __H5_H
#define __H5_H
#include "H5_inquiry.h"
#include "H5_attribs.h"
h5_file_t *
@@ -54,7 +53,7 @@ H5GetStepNameFormat (
h5_err_t
H5SetStep (
h5_file_t *f,
const h5_int64_t step
const h5_id_t step
);
h5_int64_t
@@ -62,6 +61,22 @@ H5GetStep (
h5_file_t *f
);
int
H5GetNumProcs (
h5_file_t * const f
);
h5_size_t
H5GetNumSteps (
h5_file_t * const f
);
h5_err_t
H5HasStep (
h5_file_t * const f,
h5_id_t step
);
h5_err_t
H5StartTraverseSteps (
h5_file_t *f
+5 -5
View File
@@ -73,9 +73,9 @@ H5BlockGetFieldInfo (
const h5_size_t idx, /*!< IN: index of field */
char *name, /*!< OUT: field name */
const h5_size_t len_name, /*!< IN: buffer size */
h5_size_t *grid_rank, /*!< OUT: grid rank */
h5_size_t *grid_dims, /*!< OUT: grid dimensions */
h5_size_t *field_rank, /*!< OUT: field rank */
h5_size_t *field_dims, /*!< OUT: field dimensions */
h5_size_t *elem_rank, /*!< OUT: element rank */
h5_int64_t *type /*!< OUT: datatype */
);
@@ -83,9 +83,9 @@ h5_err_t
H5BlockGetFieldInfoByName (
h5_file_t *const f, /*!< IN: file handle */
const char *name, /*!< IN: field name */
h5_size_t *grid_rank, /*!< OUT: grid rank */
h5_size_t *grid_dims, /*!< OUT: grid dimensions */
h5_size_t *field_rank, /*!< OUT: field rank */
h5_size_t *field_rank, /*!< OUT: field rank */
h5_size_t *field_dims, /*!< OUT: field dimensions */
h5_size_t *elem_rank, /*!< OUT: element rank */
h5_int64_t *type /*!< OUT: datatype */
);
+19 -18
View File
@@ -4,20 +4,20 @@
h5_err_t
H5PartSetNumParticles (
h5_file_t *f, /*!< [in] Handle to open file */
h5_int64_t nparticles /*!< [in] Number of particles */
h5_size_t nparticles /*!< [in] Number of particles */
);
h5_err_t
H5PartSetNumParticlesStrided (
h5_file_t *f, /*!< [in] Handle to open file */
h5_int64_t nparticles, /*!< [in] Number of particles */
h5_int64_t stride /*!< [in] Stride value (e.g. number of fields in the particle array) */
);
h5_size_t nparticles, /*!< [in] Number of particles */
h5_size_t stride /*!< [in] Stride value (e.g. number of fields in the particle array) */
);
h5_err_t
H5PartSetChunkSize (
H5PartSetChunk (
h5_file_t *f,
h5_int64_t size
h5_size_t size
);
h5_err_t
@@ -76,31 +76,31 @@ H5PartReadDataInt32 (
h5_int32_t *data /*!< [out] Array of data */
);
h5_int64_t
h5_ssize_t
H5PartGetNumDatasets (
h5_file_t *f /*!< [in] Handle to open file */
);
h5_int64_t
h5_err_t
H5PartGetDatasetName (
h5_file_t *f, /*!< [in] Handle to open file */
const h5_int64_t idx, /*!< [in] Index of the dataset */
const h5_id_t idx, /*!< [in] Index of the dataset */
char *name, /*!< [out] Name of dataset */
const h5_int64_t len /*!< [in] Size of buffer \c name */
const h5_size_t len /*!< [in] Size of buffer \c name */
);
h5_int64_t
h5_err_t
H5PartGetDatasetInfo (
h5_file_t *f, /*!< [in] Handle to open file */
const h5_int64_t idx,/*!< [in] Index of the dataset */
const h5_id_t idx, /*!< [in] Index of the dataset */
char *dataset_name, /*!< [out] Name of dataset */
const h5_int64_t len_dataset_name,
const h5_size_t len_dataset_name,
/*!< [in] Size of buffer \c dataset_name */
h5_int64_t *type, /*!< [out] Type of data in dataset */
h5_int64_t *nelem /*!< [out] Number of elements. */
h5_size_t *nelem /*!< [out] Number of elements. */
);
h5_int64_t
h5_ssize_t
H5PartGetNumParticles (
h5_file_t *f /*!< [in] Handle to open file */
);
@@ -110,7 +110,7 @@ H5PartResetView (
h5_file_t *f /*!< [in] Handle to open file */
);
h5_int64_t
h5_err_t
H5PartHasView (
h5_file_t *f /*!< [in] Handle to open file */
);
@@ -125,8 +125,8 @@ H5PartSetView (
h5_err_t
H5PartSetViewIndices (
h5_file_t *f, /*!< [in] Handle to open file */
const h5_int64_t *indices, /*!< [in] List of indices */
h5_int64_t nelems /*!< [in] Size of list */
const h5_id_t *indices, /*!< [in] List of indices */
h5_size_t nelems /*!< [in] Size of list */
);
h5_err_t
@@ -146,4 +146,5 @@ H5PartSetCanonicalView (
h5_file_t *f /*!< [in] Handle to open file */
);
#endif
-21
View File
@@ -1,21 +0,0 @@
#ifndef __H5_INQUIRY_H
#define __H5_INQUIRY_H
int
H5GetNumNodes (
h5_file_t * const f
);
h5_size_t
H5GetNumSteps (
h5_file_t * const f
);
h5_err_t
H5HasStep (
h5_file_t * const f,
h5_id_t step
);
#endif
+2 -2
View File
@@ -1,5 +1,5 @@
#ifndef __H5_ATTRIBS_H
#define __H5_ATTRIBS_H
#ifndef __H5CORE_ATTRIBS_H
#define __H5CORE_ATTRIBS_H
#define H5_ATTRIB_FILE 0
#define H5_ATTRIB_STEP 1
+1 -1
View File
@@ -26,7 +26,7 @@
return h5_error ( \
f, \
H5_ERR_INVAL, \
"Internal error: step_gid <= 0.");
"Time step is invalid! Have you set the time step?");
#define h5_error_not_implemented( f, file, func, lino ) \
h5_error( \
+2 -2
View File
@@ -20,7 +20,7 @@ h5_get_hdf5_groupname_by_idx (
hid_t loc_id,
hsize_t idx,
char *name,
size_t size
size_t len
);
ssize_t
@@ -35,7 +35,7 @@ h5_get_hdf5_datasetname_by_idx (
hid_t loc_id,
hsize_t idx,
char *name,
size_t size
size_t len
);
const char *
+4 -4
View File
@@ -68,9 +68,9 @@ h5_err_t
h5b_get_field_info_by_name (
h5_file_t *const f, /*!< IN: file handle */
const char *name, /*!< OUT: field name */
h5_size_t *grid_rank, /*!< OUT: grid rank */
h5_size_t *grid_dims, /*!< OUT: grid dimensions */
h5_size_t *field_rank, /*!< OUT: field rank */
h5_size_t *field_dims, /*!< OUT: field dimensions */
h5_size_t *elem_rank, /*!< OUT: element rank */
h5_int64_t *type /*!< OUT: datatype */
);
@@ -80,9 +80,9 @@ h5b_get_field_info (
const h5_size_t idx, /*!< IN: index of field */
char *name, /*!< OUT: field name */
const h5_size_t len_name, /*!< IN: buffer size */
h5_size_t *grid_rank, /*!< OUT: grid rank */
h5_size_t *grid_dims, /*!< OUT: grid dimensions */
h5_size_t *field_rank, /*!< OUT: field rank */
h5_size_t *field_dims, /*!< OUT: field dimensions */
h5_size_t *elem_rank, /*!< OUT: element rank */
h5_int64_t *type /*!< OUT: datatype */
);
+17 -17
View File
@@ -1,67 +1,67 @@
#ifndef __H5U_MODEL_H
#define __H5U_MODEL_H
h5_int64_t
h5_ssize_t
h5u_get_num_particles (
h5_file_t *const f
);
h5_int64_t
h5_err_t
h5u_set_num_particles (
h5_file_t *const f,
const h5_int64_t nparticles,
const h5_int64_t stride
const h5_size_t nparticles,
const h5_size_t stride
);
h5_int64_t
h5_err_t
h5u_has_view (
const h5_file_t *const f
);
h5_int64_t
h5_err_t
h5u_reset_view (
h5_file_t *const f
);
h5_int64_t
h5_err_t
h5u_set_view (
h5_file_t *const f,
h5_int64_t start,
h5_int64_t end
);
h5_int64_t
h5_err_t
h5u_set_view_indices (
h5_file_t *const f,
const h5_int64_t *const indices,
const h5_int64_t nelems
const h5_id_t *const indices,
const h5_size_t nelems
);
h5_int64_t
h5_err_t
h5u_get_view (
h5_file_t *const f,
h5_int64_t *start,
h5_int64_t *end
);
h5_int64_t
h5_err_t
h5u_set_canonical_view (
h5_file_t *const f
);
h5_int64_t
h5_ssize_t
h5u_get_num_datasets (
h5_file_t *const f
);
h5_int64_t
h5_err_t
h5u_get_dataset_info (
h5_file_t *const f,
const h5_int64_t idx,
const h5_id_t idx,
char *dataset_name,
const h5_int64_t len_dataset_name,
const h5_size_t len_dataset_name,
h5_int64_t *type,
h5_int64_t *nelem
h5_size_t *nelem
);
h5_err_t