summaryrefslogtreecommitdiffstats
path: root/src/H5Shyper.c
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1998-09-30 18:50:49 (GMT)
committerRobb Matzke <matzke@llnl.gov>1998-09-30 18:50:49 (GMT)
commitbeab7f66e5dd260732fad34b9c26ccb0d8d580a5 (patch)
treed4513e30c4d6b722d466b295e6d009272e937d54 /src/H5Shyper.c
parent8460a082a4e1fc9ea9be15cfb6bbdd866ebf9f4b (diff)
downloadhdf5-beab7f66e5dd260732fad34b9c26ccb0d8d580a5.zip
hdf5-beab7f66e5dd260732fad34b9c26ccb0d8d580a5.tar.gz
hdf5-beab7f66e5dd260732fad34b9c26ccb0d8d580a5.tar.bz2
[svn-r730] Changes since 19980928
---------------------- ./MANIFEST Changed freebsd2.2.1 to freebsd2.2.7 to match change in file name. Added a few missing files. Are all of these supposed to be distributed? ./tools/testfiles/h5dumptst.c + ./tools/testfiles/tall-1.ddl + ./tools/testfiles/tall-2.ddl + ./tools/testfiles/tall-3.ddl ./tools/testfiles/tall.ddl ./tools/testfiles/tall.h5 + ./tools/testfiles/tattr-1.ddl + ./tools/testfiles/tattr-2.ddl + ./tools/testfiles/tattr-3.ddl + ./tools/testfiles/tattr-4.ddl ./tools/testfiles/tattr.ddl ./tools/testfiles/tattr.h5 + ./tools/testfiles/tdset-1.ddl + ./tools/testfiles/tdset-2.ddl + ./tools/testfiles/tdset-3.ddl + ./tools/testfiles/tdset-4.ddl ./tools/testfiles/tdset.ddl ./tools/testfiles/tdset.h5 + ./tools/testfiles/tgroup-1.ddl + ./tools/testfiles/tgroup-2.ddl + ./tools/testfiles/tgroup-3.ddl ./tools/testfiles/tgroup.ddl ./tools/testfiles/tgroup.h5 + ./tools/testfiles/tslink-1.ddl + ./tools/testfiles/tslink-2.ddl ./tools/testfiles/tslink.ddl ./tools/testfiles/tslink.h5 ./src/H5B.c ./src/H5Bprivate.h ./src/H5D.c ./src/H5Dprivate.h ./src/H5Farray.c ./src/H5Fistore.c ./src/H5Fprivate.h ./src/H5Gstab.c ./src/H5P.c ./src/H5Ppublic.h ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Spoint.c ./src/H5Sprivate.h ./test/istore.c Implemented split ratios as documented in previous e-mails. Frank, the new API functions are H5Pget_btree_ratios() and H5Pset_btree_ratios(). ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Spoint.c ./src/H5Sprivate.h Added more type checking for the data transfer property list passed to these functions. ./src/H5D.c Added a dataset transfer property list as an argument to H5D_allocate() for the parallel version in order to pass split ratios down to H5F_istore_lock(). Eventually we won't need the split ratios for H5D_allocate() because we'll build a completely full B-tree from the leaves up, but it might be useful to have other transfer properties at that level anyway. I always caled H5D_allocate() with &H5D_dflt_xfer. ./MANIFEST ./test/Makefile.in ./test/overhead.c [NEW] Added an `overhead' test run by `make timings'.
Diffstat (limited to 'src/H5Shyper.c')
-rw-r--r--src/H5Shyper.c52
1 files changed, 24 insertions, 28 deletions
diff --git a/src/H5Shyper.c b/src/H5Shyper.c
index c67be6b..54ee1bd 100644
--- a/src/H5Shyper.c
+++ b/src/H5Shyper.c
@@ -58,15 +58,13 @@ static size_t H5S_hyper_fgath (H5F_t *f, const struct H5O_layout_t *layout,
const struct H5O_efl_t *efl, size_t elmt_size,
const H5S_t *file_space,
H5S_sel_iter_t *file_iter, size_t nelmts,
- const void *_xfer_parms,
- void *buf/*out*/);
+ const H5D_xfer_t *xfer_parms, void *buf/*out*/);
static herr_t H5S_hyper_fscat (H5F_t *f, const struct H5O_layout_t *layout,
const struct H5O_pline_t *pline,
const struct H5O_efl_t *efl, size_t elmt_size,
const H5S_t *file_space,
H5S_sel_iter_t *file_iter, size_t nelmts,
- const void *_xfer_parms,
- const void *buf);
+ const H5D_xfer_t *xfer_parms, const void *buf);
static size_t H5S_hyper_mgath (const void *_buf, size_t elmt_size,
const H5S_t *mem_space,
H5S_sel_iter_t *mem_iter, size_t nelmts,
@@ -454,10 +452,10 @@ H5S_hyper_block_cache (H5S_hyper_node_t *node, H5S_hyper_fhyper_info_t *fhyper_i
hsize[i]=(node->end[i]-node->start[i])+1;
hsize[fhyper_info->space->extent.u.simple.rank]=fhyper_info->elmt_size;
- if (H5F_arr_read (fhyper_info->f, fhyper_info->layout,
- fhyper_info->pline, fhyper_info->efl,
- hsize, hsize, zero, file_offset,
- fhyper_info->xfer_parms->xfer_mode, node->cinfo.block/*out*/)<0)
+ if (H5F_arr_read (fhyper_info->f, fhyper_info->xfer_parms,
+ fhyper_info->layout, fhyper_info->pline,
+ fhyper_info->efl, hsize, hsize, zero, file_offset,
+ node->cinfo.block/*out*/)<0)
HRETURN_ERROR (H5E_DATASPACE, H5E_READERROR, FAIL, "read error");
} /* end if */
else {
@@ -571,10 +569,10 @@ H5S_hyper_block_write (H5S_hyper_node_t *node, H5S_hyper_fhyper_info_t *fhyper_i
hsize[i]=(node->end[i]-node->start[i])+1;
hsize[fhyper_info->space->extent.u.simple.rank]=fhyper_info->elmt_size;
- if (H5F_arr_write (fhyper_info->f, fhyper_info->layout,
- fhyper_info->pline, fhyper_info->efl,
- hsize, hsize, zero, file_offset,
- fhyper_info->xfer_parms->xfer_mode, node->cinfo.block/*out*/)<0)
+ if (H5F_arr_write (fhyper_info->f, fhyper_info->xfer_parms,
+ fhyper_info->layout, fhyper_info->pline,
+ fhyper_info->efl, hsize, hsize, zero, file_offset,
+ node->cinfo.block/*out*/)<0)
HRETURN_ERROR (H5E_DATASPACE, H5E_WRITEERROR, FAIL, "write error");
/* Release the temporary buffer */
@@ -691,13 +689,13 @@ H5S_hyper_fread (intn dim, H5S_hyper_fhyper_info_t *fhyper_info)
/*
* Gather from file.
*/
- if (H5F_arr_read (fhyper_info->f, fhyper_info->layout,
- fhyper_info->pline, fhyper_info->efl,
- hsize, hsize, zero, file_offset,
- fhyper_info->xfer_parms->xfer_mode,
- fhyper_info->dst/*out*/)<0) {
+ if (H5F_arr_read (fhyper_info->f, fhyper_info->xfer_parms,
+ fhyper_info->layout, fhyper_info->pline,
+ fhyper_info->efl, hsize, hsize, zero,
+ file_offset,
+ fhyper_info->dst/*out*/)<0) {
HRETURN_ERROR (H5E_DATASPACE, H5E_READERROR, 0,
- "read error");
+ "read error");
}
#ifdef QAK
printf("%s: check 2.3, region #%d\n",FUNC,(int)i);
@@ -793,10 +791,9 @@ H5S_hyper_fgath (H5F_t *f, const struct H5O_layout_t *layout,
const struct H5O_pline_t *pline,
const struct H5O_efl_t *efl, size_t elmt_size,
const H5S_t *file_space, H5S_sel_iter_t *file_iter,
- size_t nelmts, const void *_xfer_parms,
+ size_t nelmts, const H5D_xfer_t *xfer_parms,
void *_buf/*out*/)
{
- const H5D_xfer_t *xfer_parms=(const H5D_xfer_t *)_xfer_parms; /* Coerce the type */
H5S_hyper_bound_t **lo_bounds; /* Lower (closest to the origin) bound array for each dimension */
H5S_hyper_bound_t **hi_bounds; /* Upper (farthest from the origin) bound array for each dimension */
H5S_hyper_fhyper_info_t fhyper_info; /* Block of parameters to pass into recursive calls */
@@ -962,12 +959,12 @@ H5S_hyper_fwrite (intn dim, H5S_hyper_fhyper_info_t *fhyper_info)
/*
* Scatter to file.
*/
- if (H5F_arr_write (fhyper_info->f, fhyper_info->layout,
- fhyper_info->pline, fhyper_info->efl,
- hsize, hsize, zero, file_offset,
- fhyper_info->xfer_parms->xfer_mode,
- fhyper_info->src)<0) {
- HRETURN_ERROR (H5E_DATASPACE, H5E_WRITEERROR, 0, "write error");
+ if (H5F_arr_write (fhyper_info->f, fhyper_info->xfer_parms,
+ fhyper_info->layout, fhyper_info->pline,
+ fhyper_info->efl, hsize, hsize, zero,
+ file_offset, fhyper_info->src)<0) {
+ HRETURN_ERROR (H5E_DATASPACE, H5E_WRITEERROR, 0,
+ "write error");
}
} /* end else */
@@ -1054,10 +1051,9 @@ H5S_hyper_fscat (H5F_t *f, const struct H5O_layout_t *layout,
const struct H5O_pline_t *pline,
const struct H5O_efl_t *efl, size_t elmt_size,
const H5S_t *file_space, H5S_sel_iter_t *file_iter,
- size_t nelmts, const void *_xfer_parms,
+ size_t nelmts, const H5D_xfer_t *xfer_parms,
const void *_buf)
{
- const H5D_xfer_t *xfer_parms=(const H5D_xfer_t *)_xfer_parms; /* Coerce the type */
H5S_hyper_bound_t **lo_bounds; /* Lower (closest to the origin) bound array for each dimension */
H5S_hyper_bound_t **hi_bounds; /* Upper (farthest from the origin) bound array for each dimension */
H5S_hyper_fhyper_info_t fhyper_info; /* Block of parameters to pass into recursive calls */