summaryrefslogtreecommitdiffstats
path: root/src/H5Sprivate.h
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>1999-05-25 21:29:31 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>1999-05-25 21:29:31 (GMT)
commitac830927fbda984086d7bd601282c5f3e5478176 (patch)
treed516c754a10ce7824f141e1bc82280977fab24f4 /src/H5Sprivate.h
parent9282a3e3575d7e3af855bea6ddd4d1a0ba511671 (diff)
downloadhdf5-ac830927fbda984086d7bd601282c5f3e5478176.zip
hdf5-ac830927fbda984086d7bd601282c5f3e5478176.tar.gz
hdf5-ac830927fbda984086d7bd601282c5f3e5478176.tar.bz2
[svn-r1277] Added additional checks into the dataspace code to determine if the hyperslabs
being written out are contiguous in memory and on disk and write/read them as one I/O operation (if the datatypes don't require conversion). This should be a good performance boost for those situations. It's especially needed on the ASCI Red (TFlops) machine. - QAK (from Albert's account on modi4 :-)
Diffstat (limited to 'src/H5Sprivate.h')
-rw-r--r--src/H5Sprivate.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/H5Sprivate.h b/src/H5Sprivate.h
index 0a652e2..2dba002 100644
--- a/src/H5Sprivate.h
+++ b/src/H5Sprivate.h
@@ -341,6 +341,7 @@ __DLL__ herr_t H5S_register(H5S_sel_type cls, const H5S_fconv_t *fconv,
__DLL__ hssize_t H5S_select_serial_size(const H5S_t *space);
__DLL__ herr_t H5S_select_serialize(const H5S_t *space, uint8_t *buf);
__DLL__ herr_t H5S_select_deserialize(H5S_t *space, const uint8_t *buf);
+__DLL__ htri_t H5S_select_contiguous(const H5S_t *space);
/* Point select functions */
__DLL__ herr_t H5S_point_add(H5S_t *space, size_t num_elemn,
@@ -353,6 +354,7 @@ __DLL__ hssize_t H5S_point_select_serial_size(const H5S_t *space);
__DLL__ herr_t H5S_point_select_serialize(const H5S_t *space, uint8_t *buf);
__DLL__ herr_t H5S_point_select_deserialize(H5S_t *space, const uint8_t *buf);
__DLL__ herr_t H5S_point_bounds(H5S_t *space, hsize_t *start, hsize_t *end);
+__DLL__ htri_t H5S_point_select_contiguous(const H5S_t *space);
/* "All" select functions */
__DLL__ herr_t H5S_all_release(H5S_t *space);
@@ -393,6 +395,7 @@ __DLL__ hssize_t H5S_hyper_select_serial_size(const H5S_t *space);
__DLL__ herr_t H5S_hyper_select_serialize(const H5S_t *space, uint8_t *buf);
__DLL__ herr_t H5S_hyper_select_deserialize(H5S_t *space, const uint8_t *buf);
__DLL__ herr_t H5S_hyper_bounds(H5S_t *space, hsize_t *start, hsize_t *end);
+__DLL__ htri_t H5S_hyper_select_contiguous(const H5S_t *space);
/* "None" selection functions */
__DLL__ herr_t H5S_none_select_serialize(const H5S_t *space, uint8_t *buf);