summaryrefslogtreecommitdiffstats
path: root/src/H5Shyper.c
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1998-08-13 20:17:47 (GMT)
committerRobb Matzke <matzke@llnl.gov>1998-08-13 20:17:47 (GMT)
commit678eb19d7118bb852b428e6469da6df6886b0b86 (patch)
treecf4a3e318b44430d7329cb13e8ac003249b7356f /src/H5Shyper.c
parent349b9094a0755986cb9df6e6f662791c98afaa15 (diff)
downloadhdf5-678eb19d7118bb852b428e6469da6df6886b0b86.zip
hdf5-678eb19d7118bb852b428e6469da6df6886b0b86.tar.gz
hdf5-678eb19d7118bb852b428e6469da6df6886b0b86.tar.bz2
[svn-r588] Changes since 19980810
---------------------- ./MANIFEST ./src/H5Ssimp.c [REMOVED] ./src/Makefile.in Removed H5Ssimp.c since it was no longer used. ./bin/snapshot Fixed a few minor things to make it work better. ./src/H5D.c Cleaned up H5D_read() and H5D_write() by combining some code in each. Added timing calls around the data space calls when H5S_DEBUG is defined. ./src/H5S.c ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Spoint.c ./src/H5Sprivate.h Changed H5S_find() so it returns a table entry again instead of copying the data into a caller-supplied buffer. This allows the timers to be stored in the table and updated by the caller. Added H5S_register() to register new table entries and added entry creation to all the H5S selection methods. Also changed lots of global functions to static functions. ./src/H5Fistore.c Fixed a memory bug in the raw data cache.
Diffstat (limited to 'src/H5Shyper.c')
-rw-r--r--src/H5Shyper.c61
1 files changed, 53 insertions, 8 deletions
diff --git a/src/H5Shyper.c b/src/H5Shyper.c
index 5c6ddf3..52b8c5f 100644
--- a/src/H5Shyper.c
+++ b/src/H5Shyper.c
@@ -41,11 +41,56 @@ static intn H5S_hyper_bsearch(hssize_t size, H5S_hyper_bound_t *barr,
size_t count);
static H5S_hyper_region_t *
H5S_hyper_get_regions (size_t *num_regions, intn dim, size_t bound_count,
- H5S_hyper_bound_t **lo_bounds, H5S_hyper_bound_t **hi_bounds, hssize_t *pos,
- hssize_t *offset);
+ H5S_hyper_bound_t **lo_bounds,
+ H5S_hyper_bound_t **hi_bounds, hssize_t *pos,
+ hssize_t *offset);
static size_t H5S_hyper_fread (intn dim, H5S_hyper_fhyper_info_t *fhyper_info);
static size_t H5S_hyper_fwrite (intn dim,
H5S_hyper_fhyper_info_t *fhyper_info);
+static herr_t H5S_hyper_init (const struct H5O_layout_t *layout,
+ const H5S_t *space, H5S_sel_iter_t *iter);
+static size_t H5S_hyper_favail (const H5S_t *space, const H5S_sel_iter_t *iter,
+ size_t max);
+static size_t 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 H5D_transfer_t xfer_mode,
+ 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 H5D_transfer_t xfer_mode,
+ 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,
+ void *_tconv_buf/*out*/);
+static herr_t H5S_hyper_mscat (const void *_tconv_buf, size_t elmt_size,
+ const H5S_t *mem_space,
+ H5S_sel_iter_t *mem_iter, size_t nelmts,
+ void *_buf/*out*/);
+
+const H5S_fconv_t H5S_HYPER_FCONV[1] = {{
+ "hslab", /*name */
+ H5S_SEL_HYPERSLABS, /*selection type */
+ H5S_hyper_init, /*initialize */
+ H5S_hyper_favail, /*available */
+ H5S_hyper_fgath, /*gather */
+ H5S_hyper_fscat, /*scatter */
+}};
+
+const H5S_mconv_t H5S_HYPER_MCONV[1] = {{
+ "hslab", /*name */
+ H5S_SEL_HYPERSLABS, /*selection type */
+ H5S_hyper_init, /*initialize */
+ H5S_hyper_init, /*initialize background */
+ H5S_hyper_mgath, /*gather */
+ H5S_hyper_mscat, /*scatter */
+}};
/*-------------------------------------------------------------------------
@@ -62,7 +107,7 @@ static size_t H5S_hyper_fwrite (intn dim,
*
*-------------------------------------------------------------------------
*/
-herr_t
+static herr_t
H5S_hyper_init (const struct H5O_layout_t __unused__ *layout,
const H5S_t *space, H5S_sel_iter_t *sel_iter)
{
@@ -100,7 +145,7 @@ H5S_hyper_init (const struct H5O_layout_t __unused__ *layout,
*
*-------------------------------------------------------------------------
*/
-size_t
+static size_t
H5S_hyper_favail (const H5S_t __unused__ *space,
const H5S_sel_iter_t *sel_iter, size_t max)
{
@@ -545,7 +590,7 @@ H5S_hyper_fread (intn dim, H5S_hyper_fhyper_info_t *fhyper_info)
*
*-------------------------------------------------------------------------
*/
-size_t
+static size_t
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,
@@ -776,7 +821,7 @@ H5S_hyper_fwrite (intn dim, H5S_hyper_fhyper_info_t *fhyper_info)
*
*-------------------------------------------------------------------------
*/
-herr_t
+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,
@@ -1031,7 +1076,7 @@ H5S_hyper_mread (intn dim, H5S_hyper_fhyper_info_t *fhyper_info)
*
*-------------------------------------------------------------------------
*/
-size_t
+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, void *_tconv_buf/*out*/)
@@ -1304,7 +1349,7 @@ H5S_hyper_mwrite (intn dim, H5S_hyper_fhyper_info_t *fhyper_info)
*
*-------------------------------------------------------------------------
*/
-herr_t
+static herr_t
H5S_hyper_mscat (const void *_tconv_buf, size_t elmt_size,
const H5S_t *mem_space, H5S_sel_iter_t *mem_iter,
size_t nelmts, void *_buf/*out*/)