Commit Graph

157 Commits

Author SHA1 Message Date
Raymond Lu
3ea2c632d5 [svn-r13388] Added a relative comparison between floating-point values to avoid compiler's
warning of comparing values with "==" or "!=".
2007-02-26 11:55:45 -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
Quincey Koziol
fa11904aab [svn-r13151] Description:
Clean up compiler warnings, esp. on Windows

Tested on:
	FreeBSD/32 6.2 (duty)
	Mac OS X/32 10.4.8 (amazon)
2007-01-17 18:37:24 -05:00
Quincey Koziol
9f39e59d91 [svn-r13012] Description:
Refactor object header code to separate process of creating an object
header message from the process of writing to an existing one.

    Start renaming operations that deal with object header messages to have
"H5O_msg_" prefix...

Tested on:
    Mac OS X/32 10.4.8 (amazon)
    FreeBSD/32 4.11 (sleipnir)
    Linux/32 2.4 (heping)
    AIX/32 5.? (copper)
2006-12-03 10:29:41 -05:00
Quincey Koziol
143db84d88 [svn-r12821] Description:
Clean up compiler warnings, esp. on 64-bit Linux boxes.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/32 2.4 (heping) w/C++ & FORTRAN
    Linux/64 2.4 (mir) w/build-all & 1.6 compat
2006-10-28 15:49:40 -05:00
Quincey Koziol
5032b2e7df [svn-r12806] Description:
Reduce memory usage for common cases of I/O pipeline filter memory usage.

    Also, clean up some more code...

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-23 19:16:49 -05:00
MuQun Yang
ec74fa4bea [svn-r12804] Missing an argument(fapl) for a routine that tests the existence of szip encoder.
Windows picked this up. Tested with VS 6.0 with szip enabled.
2006-10-23 16:51:06 -05:00
Quincey Koziol
e40557304f [svn-r12803] Description:
Finish new version of the I/O pipeline message, which is much smaller than
the previous version.  This version is used with the "use the latest version
of the format" flag.

    Closed several memory leaks/overruns (found with valgrind).

    Also, lots of compiler & formatting cleanups.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-23 15:40:14 -05:00
Quincey Koziol
14dcb6db33 [svn-r12736] Description:
Add "use the latest format" support for dataspace object header encode/
decode routines and clean up format a bit for the latest format (new to 1.8.x
releases)

    Remove storing 'perm' parameter for array datatypes in memory and the file,
and add test to make certain that if any user applications are attempting to
store them, we get some reports back.  (Should be unlikely, since the RefMan
says that the parameter is not implemented and is unsupported).
    Carry those changes into the tests, etc.

    Clean up a bunch more compiler warnings.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Linux/64 2.4 (mir) w/enable-1.6-compat
2006-10-08 23:18:18 -05:00
James Laird
beb04ae817 [svn-r12519] Fixed "make check-vfd"
"make check-vfd" will now run all tests in the test directory with different
file drivers (at least, all of those tests that use the testing framework's
FAPL).  Tests that fail will be skipped.

This is not a perfect fix, but is better than nothing.

Along with this change, check-vfd should be added to the Daily Tests.
2006-07-31 14:46:16 -05:00
Quincey Koziol
56e3f667d6 [svn-r11886] Purpose:
Code cleanup

Description:
    Check in some of the code cleanups from working on the external link
support.  (This doesn't include any of the external link features)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX.4 (amazon)
    Linux 2.4
2006-01-23 15:46:34 -05:00
Quincey Koziol
88c15b1617 [svn-r11771] Purpose:
Code cleanup

Description:
    Fix a bunch of warnings flagged by Windows compilers.


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-12-08 13:34:51 -05:00
Elena Pourmal
2540abc1c9 [svn-r11426] Purpose: VMS port / bug fix
Description:

On VMS dsets test failed screaming about corrupted stack.
Debugging didn't show any obvious problems. Careful examination
of compilation warning messages (something like "function is used as
data in dsets") made me to search for duplicated names.

It turned out that two variables H5Z_SET_LOCAL and H5Z_CAN_APPLY
were confused with H5Z_set_local and H5Z_can_apply functions from
H5Z.c file.


Solution:

Changed variable names to H5Z_SET_LOCAL_TEST and H5Z_CAN_APPLY_TEST.


Platforms tested: Alpha VMS, heping; minor change

Misc. update:
2005-09-17 17:37:48 -05:00
Quincey Koziol
90103afad6 [svn-r11337] Purpose:
Code cleanup

Description:
    Changed some scale+offset filter symbols from H5_SO_... -> H5Z_SO_...
to indicate that they are in the H5Z package.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-09-01 17:46:16 -05:00
MuQun Yang
6265941e76 [svn-r11324] Purpose:
update dsets.c for scale-offset filter.

Description:
H5Psetscaleoffset has changed parameters.
Solution:


Platforms tested:
sol 2.7, Linux 2.4, AIX 6.4(32-bit and 64-bit)

Misc. update:
2005-08-31 17:04:55 -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
12d84d4b12 [svn-r11022] Purpose:
Bug fix & code cleanup

Description:
    Don't unmount child files from a parent file if the parent file is
being held open by an object.

    Also, moved the mounting routines into their own source file and the
superblock routines into their own file also.

Solution:
    Moved the code for unmounting child files down in the H5F_close routine
and also add checks to the file and group mounting code to unmount child
files when the last object holding open a file closes.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-07-05 16:58:50 -05:00
Quincey Koziol
bbe03d7361 [svn-r10736] Purpose:
Code cleanup

Description:
    Clean up some compiler warnings

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-05-07 14:37:48 -05:00
Xiaowen Wu
348f391e42 [svn-r10682] Purpose:
Slight modifications.

Description:
	Several constants related to the H5Pset_scaleoffset interface
	are added into H5Zpublic.h. Test cases that calls H5Pset_scaleoffset
	needs slight modifications.

Solution:
	Use the defined names when calling H5Pset_scaleoffset instead of
	using numerical numbers.

Platforms tested:
	heping, shanti

Misc. update:
2005-04-27 12:03:06 -05:00
Xiaowen Wu
c5ed3b9576 [svn-r10674] Purpose:
New feature.

Description:
	The scaleoffset filter has been implemented to
	to compress floating-point data (single precision
	and double precision) using D-scale method from
	GRIB.

Solution:
	Test cases for float and double datatypes are added
	according to the change of scaleoffset filter. Situations
	of fill value defined/undefined are tested.

Platforms tested:
	heping, shanti, copper

Misc. update:
2005-04-26 16:42:42 -05:00
Xiaowen Wu
3604c17051 [svn-r10603] Purpose:
Bug fix.

Description:
     The nbit filter test case (compound datatype with no-op field)
     can not pass the daily test on heping and eirene when the
     enable-production option is set with configure and PGI compiler
     is used. It will generate segmentation fault.

Solution:
     It was found that the seg fault disappears when adding a new
     index variable in the test case and using it instead of using
     an existing index variable twice during initialization.

     This does not make much sense since previous codes is logically
     equivalent to the changed codes. So, some other factors beyond
     the test case codes may have caused the problem.

Platforms tested:
     heping

Misc. update:
2005-04-13 21:05:42 -05:00
Xiaowen Wu
26b964c8fa [svn-r10569] Purpose:
New feature.

Description:
    The N-Bit filter needs a test case for no-op datatypes.

Solution:
    A test case was added to test a compound datatype with
    N-Bit fields and no-op fields.

Platforms tested:
    heping, shanti

Misc. update:
2005-04-06 21:43:45 -05:00
Xiaowen Wu
3a64d64ff9 [svn-r10395] Purpose:
Bug fix.

Description:
    One test case of scaleoffset filter has fill value too large for int.

Solution:
    Change the value to be within the range of int.

Platforms tested:
    heping

Misc. update:
2005-03-23 21:08:15 -05:00
Xiaowen Wu
24c88ddadf [svn-r10385] Purpose:
New feature.

Description:
    The scaleoffset filter is now complete for compressing integers. All previous
    bugs have been fixed. The filter does not compress floating-point at present.

Solution:
    Update test cases for the scaleoffset filter. Two for integer types and one for
    floating-point (even though the filter does not compress). The two test cases
    for integer type tests situations where fill value is defined and undefined for
    the dataset.

Platforms tested:
    heping, copper, shanti

Misc. update:
2005-03-23 12:46:46 -05:00
Raymond Lu
b0c346caa2 [svn-r10081] Purpose: Some Kind of Verification
Description:  The library didn't handle incorrect hardware conversion for datatype.  It simply did
convert to incorrect data if any hardware didn't handle correctly.

Solution:  During configuration, incorrect hardware conversion is detected and some macros are
defined.  Use these macros to decide whether to register hardware conversion in H5T.c.  If no hardware
conversion function is registered for certain pair of datatypes, software conversion function will
be used as the conversion path.  Although slower than hardware conversion, we're more confident
software conversion is accurate.

So in one sentence to describe library's behavior, if some hardware conversion doesn't work well,
software conversion will be used instead.

Platforms tested:  h5committest and fuss.

Misc. update:  some changes to configure's comments.
2005-02-24 17:54:05 -05:00
Xiaowen Wu
8493009bd4 [svn-r10026] Purpose:
New feature.

Description:
    Add a test case for scaleoffset filter (integer type). For debugging purpose only.
    The test case is not turned on.

Solution:

Platforms tested:
    heping, copper, arabica

Misc. update:
2005-02-16 22:14:05 -05:00
Xiaowen Wu
3926845f87 [svn-r9895] Purpose:
Add test cases of nbit filter, tests are now turned on

Description:
Six test cases are added for testing the nbit filter with different
datatypes including int, float, double, array datatype, a simple
compound datatype and a complex compound datatype. Improvements are
made to testing of int and floating point.

Solution:

Platforms tested:
AIX 5.1 and Linux 2.4.

Misc. update:
2005-01-31 10:14:01 -05:00
Xiaowen Wu
631394faa8 [svn-r9855] Purpose:
Adding N-bit testing source code into CVS tree.
This is for debugging purpose only. N-bit filter won't be included in the daily test.

Description:
Integer, Float, Array datatype and Compound datatype tests are included.
More comprehensive tests need to be done.

Solution:

Platforms tested:
copper(AIX 5.1) and heping(Linux 2.4).

Misc. update:
2005-01-21 13:19:51 -05:00
Xiaowen Wu
a43bce5d04 [svn-r9756]
Purpose:
For debugging N-bit filter; it will not affect the library.

Description:
Adding N-bit tests, the library will not run those tests.

Solution:

Platforms tested:

heping(Linux 2.4), copper(AIX 5.1),arabica(sol 2.7)
Misc. update:
2005-01-06 13:27:26 -05:00
Quincey Koziol
a56a1205d2 [svn-r9732] Purpose:
Bug fix

Description:
    szip tests were failing due to a few "H5_SZIP_CAN_ENCODE" ifdefs still
lying around in the source code.

Solution:
    Eliminate compile time testing by using new SZ_encoder_enabled() routine
at run time.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/szip
2004-12-30 09:52:51 -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
Robert E. McGrath
3f0abcc71f [svn-r9494] Purpose:
Fix SZIP filter to dynmically detect encoder.

Description:

Solution:
See:
http://hdf.ncsa.uiuc.edu/RFC/SZIP/Szip_dynamic_12_Oct.pdf

Changes to library tests, contingent on detecting SZIP encoder.
2004-11-02 14:12:06 -05:00
Quincey Koziol
22d00ce23f [svn-r9155] Purpose:
Bug fix (sorta)

Description:
    Change reading of "missing" chunks from datasets with undefined fill
values to not overwrite the application buffer with random garbage from
memory.  Note that this is almost the same, since whatever garbage the
application had in those locations will still be there...

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    IRIX64 6.5 (modi4)
    h5committested
2004-08-25 03:30:32 -05:00
Quincey Koziol
ae0ae15956 [svn-r8962] Purpose:
Bug fix

Description:
    Allow I/O on extendible chunked datasets with (currently) zero-sized
dimensions to proceed harmlessly instead of dumping core on an assertion.

Solution:
    Removed assertion and added checks to avoid problem situation in H5TB_end

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/ & w/o parallel
    Too minor to require h5committest
2004-07-27 22:22:12 -05:00
Elena Pourmal
560d1127e9 [svn-r8916]
Purpose: Improvement

Description: HDF5 Library set pixels_per_scanline parameter to the size of the chunk's
             fastest changing dimension.  As a result, fastest changing dimension
             of the chunk could not be bigger than 4K and smaller than pixels_per_block
             value and szip compression couldn't be used for many real datasets.

Solution: Reworked algorithm how HDF5 sets pixels_per_scanline value; only chunks
          with the total number of elements less than pixels_per_block value are rejected.
          There is no restriction on the size of the chunk's fastest changing
          dimension anymore.

          Modified the test according to the new algorithm.


Platforms tested: verbena, copper, sol

Misc. update:
2004-07-21 15:41:41 -05:00
Quincey Koziol
e5e786f589 [svn-r8782] Purpose:
Code cleanup

Description:
    Clean up almost all warnings from Windows builds.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest
2004-07-01 15:02:47 -05:00
James Laird
eab58732d8 [svn-r8781]
Purpose:
HDF5 now supports SZIP with no encoder.

Description:
SZIP can be configured to have both encoder and decoder or just to have the decoder.  HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled.

Solution:
Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id.  See SZIP RFC.

Platforms tested:
Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++)

Misc. update:
2004-07-01 12:38:04 -05:00
Quincey Koziol
1ec351813b [svn-r8600] Purpose:
Code optimization

Description:
    Don't recompute the internal index value for looking up the chunk in the
hash table, just use the value already computed from iterating through the
chunks.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir) w/parallel
2004-05-31 14:59:59 -05:00
Quincey Koziol
2ce06c3912 [svn-r8590] Purpose:
Code optimization & bug fix

Description:
    When dimension information is being stored in the storage layout message
on disk, it is stored as 32-bit quantities, possibly truncating the dimension
information, if a dimension is greater than 32-bits in size.

Solution:
    Fix the storage layout message problem by revising file format to not store
dimension information, since it is already available in the dataspace.

    Also revise the storage layout data structures to be more compartmentalized
for the information for contiguous, chunked and compact storage.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    Solaris 2.7 (arabica)
    h5committest
2004-05-27 15:24:08 -05:00
Quincey Koziol
0a29514b9d [svn-r8383] Purpose:
Code cleanup

Description:
    Clean up lots of warnings based on those reported from the SGI compilers
as well as gcc.

Platforms tested:
    SGI O3900, IRIX64 6.5 (Cheryl's SGI machine)
    FreeBSD 4.9 (sleipnir) w/ & w/o parallel
    h5committest
2004-04-17 23:10:09 -05:00
Pedro Vicente Nunes
f217777cdb [svn-r8261] Purpose:
bug fix

Description:
the test that reads a pre-saved file with filters must only be run
when that filter is available on the current configuration,
otherwise the library trigers a read error

Solution:
added a #ifdef for the filter, that prints -SKIP- in case we do not have the filter

Platforms tested:
linux

Misc. update:
2004-03-15 13:33:51 -05:00
Pedro Vicente Nunes
7de24aa706 [svn-r8255] Purpose:
bug fix

Description:
the added binary files to read did not have the construction of the "srcdir" path

Solution:
add it

Platforms tested:
linux

Misc. update:
2004-03-11 22:43:23 -05:00
Pedro Vicente Nunes
472394a0e9 [svn-r8252] Purpose:
bug fix
new test

Description:
the fletcher filter used a temporary  2 byte word buffer to compute the checksum.
this is non portable between big-endian/little endian.

added a test that reads 2  pre-saved files (one LE, other BE) with that filter enabled

Solution:
replaced with a buffer of 1 byte type

Platforms tested:
linux
solaris
solaris 64 bit
AIX
windows

Misc. update:
2004-03-10 19:25:31 -05:00
Pedro Vicente Nunes
c238a6c13c [svn-r8150] Purpose:
introduced the constant H5Z_FILTER_ALL, used to remove all filters in H5Premove_filter

Description:

Solution:

Platforms tested:
linux

Misc. update:
2004-02-04 15:35:37 -05:00
Pedro Vicente Nunes
78fb916259 [svn-r8149]
Purpose:
replaced name of delete filter with remove filter for the new function H5Premove_filter

Description:

Solution:

Platforms tested:
linux

Misc. update:
2004-02-04 14:36:12 -05:00
Quincey Koziol
61a451f89e [svn-r8117] Purpose:
Code cleanup

Description:
    Add C++ and FORTRAN wrappers for new H5Pdelete_filter routine, along with
documentation and a note in the release notes.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Linux 2.4 (verbena) w/ C++ and FORTRAN
    Too minor for full h5committest
2004-01-27 15:39:20 -05:00
Pedro Vicente Nunes
afc3563b76 [svn-r8113] Purpose:
new library function H5Pdelete_filter
deletes one or all filters from a dataset creation property list
this was done for the NONE option of h5repack, added tests for this feature
added a test for the new function in /test/dsets.c


Description:

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-01-26 18:20:20 -05:00
Quincey Koziol
feaa5bb9d5 [svn-r8038] Purpose:
Bug fix

Description:
    When two property lists are compared, the H5Pequal routine was just
comparing the raw information for the property values.  This causes problems
when the raw information contains pointers to other information.

Solution:
    Allow a 'compare' callback to be registered for properties, so that a user
application get perform the comparison itself, allowing for "deep" compares of
the property value.
    This was exported to the H5Pregister & H5Pinsert routines in the development
branch, but not the release branch.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2004-01-08 09:55:11 -05:00
Quincey Koziol
b0b020d422 [svn-r8007] Purpose:
Bug fix

Description:
    Range check the szip 'pixels per block' against the chunk size of the
dataset when attempting to create a new dataset, since the szip library
requires the PPB to be at least the size of the fastest changing dimension
in the chunk.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor for h5committest
2003-12-31 15:28:46 -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