Commit Graph

101 Commits

Author SHA1 Message Date
Quincey Koziol
6ff8aac3a7 [svn-r19472] Description:
Create a new, more streamlined method of generating I/O sequences when
there is only a single block defined by a hyperslab.  This improves the
performance of Ger Van Diepen's (LOFAR team) benchmark by about 20%.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
        Mac OS X/32 10.6.4 (amazon) in debug mode
        Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
        Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-09-23 10:03:42 -05:00
Quincey Koziol
d9a305afb7 [svn-r19207] Description:
Switch from using "UINT16_MAX" to "64 * 1024" for assert macro.

Tested on:
    None, just eyeballed.
2010-08-10 08:25:19 -05:00
Quincey Koziol
f82774c0d5 [svn-r19092] Description:
Bring "shape same" changes from LBL branch to trunk.  These changes
allow shapes that are the same, but projected into dataspaces with different
ranks to be detected correctly, and also contains code to project a dataspace
into greater/lesser number of dimensions, so the I/O can proceed in a faster
way.

	These changes also contain several bug fixes and _lots_ of code
cleanups to the MPI datatype creation code.

	Many other misc. code cleanup are included as well...

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
        Mac OS X/32 10.6.3 (amazon) in debug mode
        Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2010-07-19 00:05:45 -05:00
Quincey Koziol
f139fe1c2d [svn-r18391] Description:
Clean up compiler warnings, check error values and fix whitespace.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(too minor to require h5committest)
2010-03-06 21:53:27 -05:00
Quincey Koziol
b4ff3e6e79 [svn-r16560] Description:
Remove another call to H5E_clear_stack() from within the library.

    Clean up lots of compiler warnings.

Tested on:
    Mac OS X/32 10.5.6 (amazon)
    (followup on other platforms forthcoming)
2009-03-10 14:00:39 -05:00
Quincey Koziol
9f60f016ab [svn-r15800] Description:
Bring file free space branch changes through r15795 into trunk, which
includes a fair bit of code cleanup & rearrangement along with a couple of
bug fixes also.

Tested on:
        Mac OS X/32 10.5.5 (amazon) in debug mode
        Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
                                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2008-10-06 23:17:35 -05:00
Scot Breitenfeld
0402e02527 [svn-r15673] Description:
Changed the error check string to match the function being called, changed the string H5Sselect_all to H5Sselect_none
2008-09-22 10:03:36 -05:00
Quincey Koziol
e622f33515 [svn-r14420] Description:
Correct the prototype for H5Sselect_elements() to take an 'hsize_t *' for
the coordinates, instead of 'hsize_t **'.

Tested on:
    Mac OS X/32 10.5.1 (amazon)
2008-01-15 16:10:42 -05:00
Quincey Koziol
66addd2d2c [svn-r14334] Description:
- Avoid trying to update 1-D dataset's chunk indices (they can't change)
    - Cache a copy of a dataspace describing a chunk, when doing single
        element I/O
    - Keep a 'chunk info' struct around, for single element I/O
    - Avoid creating a skip list for chunk infos when performing I/O on single
        element

	Also, minor formatting cleanups to testing code

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2007-12-10 16:38:03 -05:00
Quincey Koziol
54d42e74c4 [svn-r14249] Description:
- Changed H5S_select_shape_same routine to handle scalar dataspace
        comparisons correctly.  (Added regression tests to verify)
    - Simplified chunk map creation, now that scalar dataspaces are handled
        in same way as "simple" dataspaces.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2007-11-10 16:07:53 -05:00
Quincey Koziol
d9e5ca72f3 [svn-r14199] Description:
Add H5Dcreate to API versioned routines, replacing internal usage with
H5Dcreate2

	Fix thread-safe error stack initialization for API versioned error
stack printing routines.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-11 11:24:11 -05:00
Quincey Koziol
16683943c6 [svn-r14193] Description:
Make H5Dopen versioned and change all internal usage to use H5Dopen2

	Add simple regression test for H5Dopen1

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-08 14:59:36 -05:00
Quincey Koziol
d3ee3988b6 [svn-r14192] Description:
Deprecate H5Dextend in favor of H5Dset_extent (without using API
versioning, due to changed behavior) and switch internal usage to H5Dset_extent

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-08 10:26:02 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
Tested platform:
Kagiso only since it is only a comment block change.  If it works in one
machine, it should work in all, I hope.  Still need to check the parallel
build on copper.
2007-02-07 09:56:24 -05:00
Christian Chilan
9fbb0d98d9 [svn-r13149] Added tests to verify that H5Sselect_valid() returns FAIL when dataspace is not valid, or when dataspace is valid but closed. 2007-01-17 15:49:34 -05:00
Quincey Koziol
2e333eef24 [svn-r12829] Description:
Clean up more compiler warnings, esp. on Linux/64 platform.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-30 15:00:57 -05:00
Quincey Koziol
7be3afb278 [svn-r12440] Purpose:
Code cleanup

Description:
    Trim trailing whitespace in Makefile.am and C/C++ source files to make
diffing changes easier.

Platforms tested:
    None necessary, whitespace only change
2006-06-27 09:45:06 -05:00
Leon Arber
840bcbe9ef [svn-r12019] Purpose:
Bug fix/Feature

Description:
Modify the library to use rand_r, when available, instead of srand.  If
rand_r is not available, it will try to use srandom/random, and then finally
fall back to srand/rand.

Solution:
A couple places in the library use the srand() function to seed the random
number generator.  This can cause problems on certain platforms and could theoretically
cause problems for users who expect a certain sequence of random numbers following their
own call to srand().

Most platforms have an implementation of rand_r, which is identical to rand, except that
it allows for explicit storage of the seed value.  The configure script will now check
for the existence of rand_r to facilitate its use in the library.

Two new functions are added, to replace the macros HDsrand/HDrand.  These functions are HDrand and
HDsrand.  HDrand will call rand_r, if available, or random(), if available, and fall back to rand() if neither
of those is available.  HDsrand will store the seed value locally, if rand_r is available.  Otherwise, it will call
srandom if available, and fall back to srand otherwise.


Platforms tested:
heping, mir.  Really need to test on Red Storm, since that platform motivated this fix, but the machine
is currently not available.

Misc. update:
2006-03-06 23:23:24 -05:00
Quincey Koziol
3e8948df52 [svn-r11966] Purpose:
Code cleanup

Description:
    Style fixes for consistency & other minor cleanups

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX (amazon)
    Linux 2.4
2006-02-26 22:30:22 -05:00
Quincey Koziol
b76762fab1 [svn-r11558] Purpose:
Bug fix

Description:
    Check in Kent's fixes to hyperslab rebuilding code that should correctly
detect situation when different sub-hyperslabs exist in a higher dimension.

Solution:
    Remember previous sub-hyperslab information and compare that with newly
generated sub-hyperslab to make certain they are the same.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-10-13 16:39:51 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
Code cleanup

Description:
    Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.

Solution:
    Ran this script in each directory:

foreach f (*.[ch] *.cpp)
    sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
Quincey Koziol
d641030436 [svn-r10951] Purpose:
Bug fix

Description:
    Hyperslab selections that had a selection offset and were applied to a
chunked dataset could get into an infinite loop or core dump if the same
selection was used multiple times, with different selection offsets.

Solution:
    "Normalize" the selection with the selection offset, generate the
selections for the chunks overlapped and then "denormalize" the selection.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-06-18 00:10:22 -05:00
Quincey Koziol
78bcbe927f [svn-r10832] Purpose:
Bug fix

Description:
    Fix problems with hyperslab operations with hyperslabs that have count == 0
or block == 0 values. (bugzilla #294)

Solution:
    Detect zero sized selections and translate into appropriate action on the
current hyperslab, rather than go through the formality of generating span
trees with zero-sized spans, etc.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor to require h5committest
2005-05-31 16:20:36 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

Description:
    Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation.  So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.

    I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
    FreeBSD 4.10 (sleipnir) w/threadsafe
    FreeBSD 4.10 (sleipnir) w/backward compatibility
    Solaris 2.7 (arabica) w/"purify options"
    Solaris 2.8 (sol) w/FORTRAN & C++
    AIX 5.x (copper) w/parallel & FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN
    Linux 2.4 (heping) w/FORTRAN & C++


Misc. update:
2004-12-29 09:26:20 -05:00
Quincey Koziol
9fc48a0097 [svn-r9312] Purpose:
Bug fix.

Description:
    Allow I/O to occur on 0 element selections.

Platforms tested:
    h5committest
2004-09-22 22:05:15 -05:00
Quincey Koziol
00909f278d [svn-r8901] Purpose:
Bug fix

Description:
    Allow buffer parameter to H5Dread & H5Dwrite to be NULL if there are no
elements to transfer.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest
2004-07-20 12:11:36 -05:00
Quincey Koziol
987f5d5e4d [svn-r8048] Purpose:
Code cleanup & reorganization

Description:
    Move further in the testing framework cleanup, eliminating all the
global variables (moving them into testframe.c as static variables) from the
testing framework code and moving it into the libh5test.a.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o thread-safety, c++ & parallel
    h5committested
2004-01-09 20:41:13 -05:00
Quincey Koziol
a8161177b9 [svn-r7943] Purpose:
Bug fix.

Description:
    Using a selection offset with hyperslab selections in chunked datasets
was getting into an infinite loop and hanging the application.

Solution:
    Apply the selection offset to the hyperslab selection properly.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o parallel
    h5committest
2003-12-13 13:14:36 -05:00
Quincey Koziol
ccb5838240 [svn-r7734] Purpose:
Bug fix

Description:
    Single hyperslab selections (which were set with only one call to
H5Sselect_hyperslab) that had dimensions that could be "flattened" but were
interspersed with dimensions that could not be flattened were not correctly
handled, causing core dumps.

Solution:
    Re-work "flattening" code to handle this case properly.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    h5committest
2003-10-25 11:41:20 -05:00
Quincey Koziol
c6ed9cbbae [svn-r7383] Purpose:
Bug fix

Description:
    I/O on chunked datasets with a scalar dataspace for the memory dataspace
was not working correctly.

Solution:
    Translate the scalar dataspace into a n-dimensional (where n is the number
of dimensions of the file's dataspace) dataspace of dimensions 1x1x1...

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest (modulo modi4 which is not working correctly)
2003-08-19 07:18:37 -05:00
Quincey Koziol
b0e350c2d6 [svn-r7259] Purpose:
Bug fix

Description:
    I/O on chunked datasets with point selections was not working correctly.

Solution:
    Re-wrote some parts of raw data I/O routines that build the selections for
    each chunk to correctly handle point selections.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-07-23 16:18:40 -05:00
Quincey Koziol
4e23c80758 [svn-r7181] Purpose:
Version update

Description:
    Removed 1.4 compatibility code in the library.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-07-07 14:02:46 -05:00
Quincey Koziol
3fcef502ea [svn-r7001] Purpose:
Code cleanup

Description:
    Reduce warnings when compiled with --enable_hdf5v1_4 compatibility switch.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-06-09 14:16:59 -05:00
Quincey Koziol
ab28d2c820 [svn-r6961] Purpose:
Bug fix

Description:
    An earlier checkin changed some of the assumptions about single block
hyperslabs, causing them to fail in odd ways.

Solution:
    Fix errors with single block hyperslabs by keying off of count==1 instead
of stride==1.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/parallel
    h5committested
2003-06-04 13:42:20 -05:00
Quincey Koziol
4d8f148d09 [svn-r6957] Purpose:
Code cleanup & performance improvements

Description:
    Optimize hyperslabs that are built to detect situations where "regular"
hyperslabs can be recovered from span tree descriptions.

    Also, improve "same shape" routine to correctly work with all the different
combinations of selections.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/C++
    FreeBSD 4.8 (sleipnir) w/parallel
    h5committested
2003-06-04 10:45:11 -05:00
Quincey Koziol
862520b80e [svn-r6941] Purpose:
Code cleanup

Description:
    Clean up older settings for strides of hyperslabs

Platforms tested:
    h5committestted (although Fortran tests failed for some reason)
2003-05-31 11:20:03 -05:00
Quincey Koziol
7d9c86097a [svn-r6843] Purpose:
Code cleanup

Description:
    Clean up warnings exposed by compiling on O2K.  Also, revert some of Bill
and my changes to the H5S_mpi_opt_types_g, etc. and settle them back into their
original location.

Platforms tested:
    h5committested.
2003-05-09 13:18:21 -05:00
Raymond Lu
224fae1bb2 [svn-r6839] Purpose: feature protection
Description: H5Sselect_hyperslab and H5Sselect_elements didn't check scalar
    dataspaces.

Solution: put error detection in those functions.

Platforms tested: eirene(simple change).
2003-05-08 16:12:32 -05:00
Quincey Koziol
43e3b45021 [svn-r6825] Purpose:
New feature/enhancement

Description:
    Chunked datasets are handled poorly in several circumstances involving
certain selections and chunks that are too large for the chunk cache and/or
chunks with filters, causing the chunk to be read from disk multiple times.

Solution:
    Rearrange raw data I/O infrastructure to handle chunked datasets in a much
more friendly way by creating a selection in memory and on disk for each chunk
in a chunked dataset and performing all of the I/O on that chunk at one time.

    There are still some scalability (the current code attempts to
create a selection for all the chunks in the dataset, instead of just the
chunks that are accessed, requiring portions of the istore.c and fillval.c
tests to be commented out) and performance issues, but checking this in will
allow the changes to be tested by a much wider audience while I address the
remaining issues.


Platforms tested:
    h5committested, FreeBSD 4.8 (sleipnir) serial & parallel, Linux 2.4 (eirene)
2003-05-07 16:52:24 -05:00
Bill Wendling
44022e598c [svn-r6538] Purpose:
Update

Description:
    Updated the Copyright statement

Platforms tested:
    Linux (This change is only in the comments, so I just check that the
    modules still compile)

Misc. update:
2003-03-31 12:59:04 -05:00
Quincey Koziol
22f38d627e [svn-r6055] Purpose:
New feature

Description:
    Add support for scalar dataspaces in parallel I/O.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
    Also, FreeBSD 4.7 (sleipnir) serial & parallel
Misc. update:
    Update release_docs/RELEASE for bug fixes, new features, etc.
2002-11-05 11:31:02 -05:00
Quincey Koziol
820f4b6fc6 [svn-r6043] Purpose:
Bug fix

Description:
    I/O using "none" selections in parallel wasn't working correctly.  Also,
    add serial "none" selection test.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
2002-10-29 14:42:10 -05:00
Quincey Koziol
c968525b29 [svn-r5833] Purpose:
Code cleanup

Description:
    Add a bit more debugging information to one failure mode.

Platforms tested:
    FreeBSD 4.6 (sleipnir)
2002-07-24 13:39:01 -05:00
Quincey Koziol
bdefbb5cba [svn-r5603] Purpose:
Bug fix

Description:
    I/O on "Regular" hyperslab selections could fail to transfer correctly
    if the number of elements in the selection's row did now fit "evenly"
    into the buffer being used for the transfer.

Solution:
    Correct the calculation of the block & count offsets within the optimized
    "regular" hyperslab routines.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-06-12 12:01:01 -05:00
Quincey Koziol
05e8b74a20 [svn-r5290] Purpose:
Bug Fix

Description:
    Corrected int vs. unsigned short error that only showed up on big-endian
    machines.

    Also, add more testing to verify that the coordinates reported for each
    element iterated through with H5Diterate are correct.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-30 09:46:18 -05:00
Quincey Koziol
a88d81f4ba [svn-r5286] Purpose:
Bug Fix

Description:
    Selection offsets were not being used correctly when iterating through
    all hyperslabs selections and point selections.

Solution:
    Use the selection offset appropriately.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-29 15:27:31 -05:00
Quincey Koziol
1ffe083f61 [svn-r5152] Purpose:
New Feature

Description:
    Added new H5Dfill() routine to fill the elements in a selection for a
    memory buffer with a fill value.  This is a user API wrapper around some
    internal routines which were needed for the fill-value modifications
    from Raymond as well as Pedro's code for reducing the size of a chunked
    dataset.

Platforms tested:
    FreeBSD 4.5 (sleipnir) [and IRIX64 6.5 (modi4) in parallel, in a few
    minutes]
2002-04-09 07:47:34 -05:00
Quincey Koziol
d2232a345f [svn-r5130] Purpose:
Bug Fix & Feature

Description:
    The selection offset was being ignored for optimized hyperslab selection
    I/O operations.

    Additionally, I've found that the restrictions on optimized selection
    I/O operations were too strict and found a way to allow more hyperslabs
    to use the optimized I/O routines.

Solution:
    Incorporate the selection offset into the selection location when performing
    optimized I/O operations.

    Allow optimized I/O on any single hyperslab selection and also allow
    hyperslab operations on chunked datasets.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-02 15:51:41 -05:00
Quincey Koziol
e23792a3f0 [svn-r5083] Purpose:
Bug Fix

Description:
    Regression test for following bug:

    When reading a contiguous hyperslab that spanned the entire dataset and
    was larger that the type conversion buffer, the hyperslab routines need
    to fill the type conversion buffer and then return to the I/O routines.

    When the I/O routines resume the hyperslab operation, it was possible to
    have a combination of coordinates which caused the hyperslab iterator
    to incorrectly advance in the file, causing some data to be re-read or
    re-written.

Platforms tested:
    Linux (eirene)
2002-03-26 14:55:44 -05:00
Quincey Koziol
b8dbd390db [svn-r4978] Purpose:
Code cleanup
Description:
    Cleanup compiler warnings found by the SGI compiler and gcc 3.0
Platforms tested:
    FreeBSD 4.5 w/gcc 3.0 (hack) && IRIX64 (modi4)
2002-02-16 21:51:21 -05:00