diff options
author | Robb Matzke <matzke@llnl.gov> | 1998-03-04 16:20:23 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1998-03-04 16:20:23 (GMT) |
commit | 7bdea74ca98dbdc90877790d4bc9c1f71f6697b7 (patch) | |
tree | 90c2b29eb5397154f1cd586b962854bb5985c31d /src/H5V.c | |
parent | 808a5e6be1b7f1025c6b1182e160cefbce0f8e68 (diff) | |
download | hdf5-7bdea74ca98dbdc90877790d4bc9c1f71f6697b7.zip hdf5-7bdea74ca98dbdc90877790d4bc9c1f71f6697b7.tar.gz hdf5-7bdea74ca98dbdc90877790d4bc9c1f71f6697b7.tar.bz2 |
[svn-r303] Changes since 19980228
----------------------
./html/Dataspaces.html
./html/Errors.html
./html/Files.html
./html/H5.api.html
./html/review1.html
./src/H5private.h
./src/H5public.h
./test/dsets.c
./test/dtypes.c
Removed all the types like `int32' and `intn' into private
headers since they violate the naming scheme and pollute
application name space. Besides, our test files only use them
in a handful of places and it's probably useless to export
them to the app. The app is always written in terms of
standard numeric types or its own numeric types and probably
never in terms of HDF5 numeric types. If it were, then the
user would have to copy from their type to hdf5 type for
almost every hdf5 API function call! Same goes for return
values. I also removed SUCCEED/FAIL from the API since apps
should be checking against zero anyway.
if (FAIL==(space=H5Screate_simple(...))) /*wrong*/
if ((space=H5Fcreate_simple(...)<0)) /*right*/
./src/H5.c
Changed arguments of H5version() from `uintn' to `unsigned'.
./src/H5Tpublic.h
./src/H5T.c
Changed return type of H5Tget_nmembers() from `intn' to `int'
./src/H5A.c
./src/H5Aprivate.h
./src/H5Apublic.h
Changed `H5Asearch_func_t' to `H5A_search_func_t' and moved
its definition from the public to the private header file.
./html/H5.format.html
Documented changes made to the external file list (H5O_EFL)
message.
./src/H5D.c
./src/H5Dprivate.h
./src/H5E.c
./src/H5Epublic.h
./src/H5O.c
./src/H5Oefl.c
./src/H5Oprivate.h
./src/H5P.c
./src/H5Ppublic.h
Added partial support for external raw data files. HDF5 can
now describe external raw data files by listing the file
names, offsets, and size for a dataset. However, we will
restrict a dataset to be stored "contiguously" when the
external file list is viewed as a single address space. The
current implementation is unable to read/write to external
files--that will come later this week as will documentation.
For now, take a look at ./test/external.c, particularly the
calls to H5Pset_external().
./test/Makefile.in
./test/external.c [NEW]
./MANIFEST
Added tests for external storage. Note: the read test is
supposed to fail at this point since reading external datasets
is not implemented yet. There is no write test.
./src/H5S.c
./src/H5Sprivate.h
./src/H5Ssimp.c
Added H5S_get_npoints_max() to return the maximum possible
number of data points in a data space.
Added an extra argument to H5S_get_dims() which returns the
maximum dims.
./src/H5F.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5M.c [DEPRICATED]
./src/H5Mpublic.h [DEPRICATED]
Changed `template' to `property list' in lots of places.
./src/H5Osdspace.c
Removed an extra `\n' from a print statement.
./src/H5S_public.h
Changed H5S_UNLIMITED to the maximum size_t value.
./test/extend.c
"Extendable" is spelled "extendible".
./src/H5Farray.c
./src/H5V.c
./src/H5Vprivate.h
./test/hyperslab.c
Strides are now type ssize_t instead of int. These have
nothing to do with the sample granularity arguments for
hyperslabs, which are also called "strides" in the code.
./test/tstab.c
Changed assumptions about default address and length sizes.
Diffstat (limited to 'src/H5V.c')
-rw-r--r-- | src/H5V.c | 50 |
1 files changed, 24 insertions, 26 deletions
@@ -41,7 +41,7 @@ static hbool_t interface_initialize_g = TRUE; */ herr_t H5V_stride_optimize1(intn *np, size_t *elmt_size, size_t *size, - intn *stride1) + ssize_t *stride1) { FUNC_ENTER(H5V_stride_optimize1, FAIL); @@ -54,10 +54,10 @@ H5V_stride_optimize1(intn *np, size_t *elmt_size, size_t *size, /* * Combine adjacent memory accesses */ - while (*np && stride1[*np - 1] == *elmt_size) { - *elmt_size *= size[*np - 1]; + while (*np && stride1[*np-1] == *elmt_size) { + *elmt_size *= size[*np-1]; if (--*np) { - stride1[*np - 1] += size[*np] * stride1[*np]; + stride1[*np-1] += size[*np] * stride1[*np]; } } @@ -88,7 +88,7 @@ H5V_stride_optimize1(intn *np, size_t *elmt_size, size_t *size, */ herr_t H5V_stride_optimize2(intn *np, size_t *elmt_size, size_t *size, - intn *stride1, intn *stride2) + ssize_t *stride1, ssize_t *stride2) { FUNC_ENTER(H5V_stride_optimize2, FAIL); @@ -101,12 +101,12 @@ H5V_stride_optimize2(intn *np, size_t *elmt_size, size_t *size, /* * Combine adjacent memory accesses */ - while (*np && stride1[*np - 1] == *elmt_size && - stride2[*np - 1] == *elmt_size) { - *elmt_size *= size[*np - 1]; + while (*np && stride1[*np-1] == *elmt_size && + stride2[*np-1] == *elmt_size) { + *elmt_size *= size[*np-1]; if (--*np) { - stride1[*np - 1] += size[*np] * stride1[*np]; - stride2[*np - 1] += size[*np] * stride2[*np]; + stride1[*np-1] += size[*np] * stride1[*np]; + stride2[*np-1] += size[*np] * stride2[*np]; } } @@ -145,7 +145,7 @@ H5V_stride_optimize2(intn *np, size_t *elmt_size, size_t *size, size_t H5V_hyper_stride(intn n, const size_t *size, const size_t *total_size, const size_t *offset, - intn *stride/*out*/) + ssize_t *stride/*out*/) { size_t skip; /*starting point byte offset */ size_t acc; /*accumulator */ @@ -165,9 +165,9 @@ H5V_hyper_stride(intn n, const size_t *size, /* others */ for (i = n - 2, acc = 1; i >= 0; --i) { size_t tmp = acc * (total_size[i+1] - size[i+1]); - assert (tmp<((size_t)1<<(8*sizeof(intn)-1))); - stride[i] = (intn)tmp; - acc *= total_size[i + 1]; + assert (tmp<((size_t)1<<(8*sizeof(ssize_t)-1))); + stride[i] = (size_t)tmp; /*overflow checked*/ + acc *= total_size[i+1]; skip += acc * (offset ? offset[i] : 0); } @@ -290,7 +290,7 @@ H5V_hyper_fill(intn n, const size_t *_size, { uint8 *dst = (uint8 *) _dst; /*cast for ptr arithmetic */ size_t size[H5V_HYPER_NDIMS]; /*a modifiable copy of _size */ - intn dst_stride[H5V_HYPER_NDIMS]; /*destination stride info */ + ssize_t dst_stride[H5V_HYPER_NDIMS]; /*destination stride info */ size_t dst_start; /*byte offset to start of stride*/ size_t elmt_size = 1; /*bytes per element */ herr_t status; /*function return status */ @@ -373,8 +373,8 @@ H5V_hyper_copy(intn n, const size_t *_size, const uint8 *src = (const uint8 *)_src; /*cast for ptr arithmtc */ uint8 *dst = (uint8 *) _dst; /*cast for ptr arithmtc */ size_t size[H5V_HYPER_NDIMS]; /*a modifiable _size */ - intn src_stride[H5V_HYPER_NDIMS]; /*source stride info */ - intn dst_stride[H5V_HYPER_NDIMS]; /*dest stride info */ + ssize_t src_stride[H5V_HYPER_NDIMS]; /*source stride info */ + ssize_t dst_stride[H5V_HYPER_NDIMS]; /*dest stride info */ size_t dst_start, src_start; /*offset to start at */ size_t elmt_size = 1; /*element size in bytes */ herr_t status; /*return status */ @@ -436,7 +436,7 @@ H5V_hyper_copy(intn n, const size_t *_size, */ herr_t H5V_stride_fill(intn n, size_t elmt_size, const size_t *size, - const intn *stride, void *_dst, uint8 fill_value) + const ssize_t *stride, void *_dst, uint8 fill_value) { uint8 *dst = (uint8 *) _dst; /*cast for ptr arithmetic */ size_t idx[H5V_HYPER_NDIMS]; /*1-origin indices */ @@ -457,10 +457,8 @@ H5V_stride_fill(intn n, size_t elmt_size, const size_t *size, for (j = n - 1, carry = TRUE; j >= 0 && carry; --j) { dst += stride[j]; - if (--idx[j]) - carry = FALSE; - else - idx[j] = size[j]; + if (--idx[j]) carry = FALSE; + else idx[j] = size[j]; } } @@ -492,8 +490,8 @@ H5V_stride_fill(intn n, size_t elmt_size, const size_t *size, */ herr_t H5V_stride_copy(intn n, size_t elmt_size, const size_t *size, - const intn *dst_stride, void *_dst, - const intn *src_stride, const void *_src) + const ssize_t *dst_stride, void *_dst, + const ssize_t *src_stride, const void *_src) { uint8 *dst = (uint8 *) _dst; /*cast for ptr arithmetic*/ const uint8 *src = (const uint8 *) _src; /*cast for ptr arithmetic*/ @@ -547,11 +545,11 @@ herr_t H5V_stride_copy2(size_t nelmts, size_t elmt_size, /* destination */ - intn dst_n, const size_t *dst_size, const intn *dst_stride, + intn dst_n, const size_t *dst_size, const ssize_t *dst_stride, void *_dst, /* source */ - intn src_n, const size_t *src_size, const intn *src_stride, + intn src_n, const size_t *src_size, const ssize_t *src_stride, const void *_src) { uint8 *dst = (uint8 *) _dst; |