994 Commits

Author SHA1 Message Date
Raymond Lu
593d0c490a [svn-r9898] Purpose: Bug fix for test program
Description:
For Intel machines, the size of "long double" is 12 byte, precision
is 80 bits, mantissa size is 64 bits, and no normalization.  So the
most significant bit of mantissa is always 1 unless the floating number
has special value.  This step tries to compensate this case by turning
on the most significant bit of mantissa if the mantissa bits aren't
all 0s.


Solution:
Tries to compensate this case by turning on the most significant bit of
mantissa if the mantissa bits aren't all 0s.

Platforms tested: eirene and fuss(production enabled).  Small change for
production only.
2005-01-31 17:08:09 -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
Raymond Lu
c078598b6e [svn-r9886] Purpose: New test
Description:  Added a test of data type conversion between user-defined integer
types.


Platforms tested: h5committest and fuss
2005-01-29 16:08:01 -05:00
Quincey Koziol
aea13bdb44 [svn-r9878] Purpose:
New tests

Description:
    Add some tests for H5Fis_hdf5() routine.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2005-01-28 12:32:44 -05:00
John Mainzer
866b37b337 [svn-r9868] Purpose:
Reduce the run time of the cache tests.


Description:

Some of the cache tests run for quite a while, which has been
causing problems with our daily build and test.  In my last
modification to cache.c, I added code to skip these stress
tests unless we were building in production mode.  Since
things go faster in production mode, the extra tests are not
a major problem here.

However, this means that the stress tests are only run once
or twice a week.


Solution:

To try to deal with this, I modified the four longest tests
to throttle depending on whether NDEBUG is defined.  When
NDEBUG is not defined, runtime for the cache tests should
be about 1/5th its regular run time.  We will see if this
is enough of a reduction to avoid problems.

There is some doubt in my mind as to just how much good the
throttled tests do, but they should be better than nothing.
As mentioned before, the correct solution is to build some
proper, random test code.


Platforms tested:

h5committested
production and debug builds on heping.


Misc. update:
2005-01-24 16:02:48 -05:00
Quincey Koziol
0d5a2ed80a [svn-r9862] Purpose:
Code cleanup

Description:
    Add new test file to 'distclean' target

Platforms tested:
    None, very minor...
2005-01-23 22:51:27 -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
Raymond Lu
e5a161ffda [svn-r9853] Purpose: Minor Bug fix
Description:  A very minor bug fix and some minor changes to reduce the warning messages during
compiling.


Platforms tested: sleipnir and fuss
2005-01-21 10:01:32 -05:00
John Mainzer
3b90c189ca [svn-r9850] Purpose:
1) Provide facilities in cache to allow us to avoid a potential cache
   consistency bug in the parallel case.

2) Clean up a off by one sanity checking bug.

3) Turn off execution of long running tests in debug mode.


Description:

1) In the parallel case, all writes to metadata must be collective,
   but reads may not be.  In pricipal, this allows us to different
   contents in different caches.  This isn't a problem as long as the
   correct data is always on disk, but unless we can force certain
   writes immediately, that need not be the case.

2) & 3) should need no further explanation.


Solution:

1) Add code allowing us to mark cache entries, and then force
   these entries to be flushed at a later time.

   Note that to actually avoid the bug, we will have to modify
   existing code to use these new features.

2) & 3) should need no further explanation.


Platforms tested:

heping (serial debug and production)

committest (copper, sol, and heping).  test failed on heping in the
c++ portion of the build, but at Quincey's siggestion, I am proceeding
with the checkin.


Misc. update:
2005-01-20 17:40:37 -05:00
Raymond Lu
3d83546b36 [svn-r9849] Purpose: New test and a few bug fix
Description:  Test conversion from native integer to derived floating-point type and convert back;
test conversion from derived floating-point to derived floating-point types and convert back.  Fixed
a few minor bugs related to type conversion in the library.


Platforms tested: h5committest and fuss
2005-01-20 17:19:13 -05:00
Raymond Lu
72df6506b4 [svn-r9841] Purpose: Minor correction in comments
Platforms tested:  No test needed.
2005-01-20 14:53:56 -05:00
Raymond Lu
dad89387a3 [svn-r9840] Purpose: Bug fix and new test
Description:  The functions for user-define floating-point type, like
H5Tset_fields, H5Tset_offset, H5Tset_precision, H5Tset_size, have some
minor bugs.  For error checking, the library didn't include offset value
somehow.

Solution:  Corrected those bugs.

Platforms tested: h5committest and fuss

Misc. update:
2005-01-20 12:32:06 -05:00
Quincey Koziol
fda3252166 [svn-r9839] Purpose:
Bug fix

Description:
    Don't print very long description, check that it's correct internally.

Platforms tested:
    Linux 2.4 (heping)
    Solaris 2.7 (arabica)
2005-01-19 15:15:26 -05:00
Raymond Lu
35985b6dba [svn-r9827] Purpose: Minor correction
Description:  There was a #ifdef statement with logical AND in it.

Solution:  Change it to #if statement.

Platforms tested: sleipnir and eirene.  Simple change
2005-01-14 15:36:32 -05:00
Raymond Lu
105bee4ead [svn-r9826] Purpose: Bug fix
Description:  Intel compiler on Linux has some problem to convert long double to
unsigned int correctly.

Solution:  Detect the problem in configure and define a macro to skip this test
if it happens.

Platforms tested: eirene and fuss.  Simple change.
2005-01-14 15:15:34 -05:00
Quincey Koziol
23130b569c [svn-r9825] Purpose:
Bug fix

Description:
    Fix possible overrun in error description string by allocating large enough
string on the fly.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2005-01-14 14:36:01 -05:00
Raymond Lu
96cc43235e [svn-r9819] Purpose: Bug fix
Description:  The fix of the loss problem of the last 2 bytes of mantissa on sleipnir has
not been successful.  It happens when converting from unsigned long long to long double.
 The failure has been on and off.

Solution:  Hard set a macro to disable unsigned long long->long double for FreeBSD until
a good solution is found to solve this elusive problem.

Platforms tested: sleipnir and fuss.  Only sleipnir is concerned.

Misc. update:
2005-01-13 17:01:52 -05:00
Raymond Lu
524830d67e [svn-r9814] Purpose: Bug fix
Description:  the last 2 bytes of mantissa can be lost when converting from unsigned long long
to long double.  In last check-in, a fix was made to ignore that precision loss.  But sometimes,
the last 2 bytes are rounded up to the 3rd last byte.

Solution:  Ignore the 3rd last byte, too, when comparing values.

Platforms tested: sleipnir - only this system is concerned.
2005-01-12 15:40:36 -05:00
Raymond Lu
a985c4c525 [svn-r9807] Purpose: bug fix
Description: For FreeBSD (sleipnir), when GNU compilers do conversion from
unsigned long long to long double, the last 2 bytes of mantissa are lost.
The impact of precision loss isn't significant.

Solution:  Detect this case on FreeBSD in configure, ignore it in dtypes.c
test instead of return failure.

Platforms tested: sleipnir, fuss, modi4.  These systems are mainly concerned.
2005-01-11 13:17:01 -05:00
Quincey Koziol
76ba1a99d3 [svn-r9805] Purpose:
Code cleanup

Description:
    Remove obsolete support for Watcom C compiler.

Platforms tested:
    None - too minor to require any.
2005-01-11 10:43:13 -05:00
John Mainzer
7092659dfa [svn-r9790] Purpose:
Reduce run time of daily tests.


Description:

cache, the test program for the metadata cache has been taking a while
to execute.


Solution:

As a short term "fix", I have commented out all but one of the long
running test functions.  Of course that means that we aren't running
these tests at present.  I'm not sure that this is a good idea.


Platforms tested:

Serial on Heping.


Misc. update:
2005-01-10 12:41:36 -05:00
Raymond Lu
7faa297ea6 [svn-r9783] Purpose: Bug fix
Description: For HP-UX 11.00, the compiler generates 'floating exception'
when converting 'long double' to most of integer types.

Solution: Define a macro for all other systems except HP-UX 11.00.  Hard set
this macro to 'no' in config/hpux11.00 to skip this test for HP-UX 11.00.

Platforms tested:  modi4, kelgia, fuss
2005-01-08 15:56:12 -05:00
Quincey Koziol
0977cfecd9 [svn-r9780] Purpose:
Bug fix

Description:
    Print the thread ID in a little more portable of a fashion, disallowing
negative thread IDs.

Platforms tested:
    Linux 2.4 (heping) w/threadsafe
    Too Minor to require h5committest
2005-01-08 10:26:31 -05:00
Quincey Koziol
3e582deaae [svn-r9778] Purpose:
Remove feature

Description:
    Retire threaded, balanced binary tree code from HDF5 use.  Requiescat in
    pace...

    Also, regenerate dependencies files.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require full h5committesting  (the code is already
    disconnected from everything except its tests)
2005-01-07 21:06:46 -05:00
Raymond Lu
9dbf9e9e76 [svn-r9777] Purpose: Bug fix
Description:  Windows .NET 2003 can't handle float(double)->long_long hardware conversion.
While the problem hasn't been determined, we temporarily disable that test by using a
condition macro.  Let Windows define that macro.  Other systems don't have it defined.


Platforms tested:  mir and eirene.
2005-01-07 15:30:23 -05:00
Raymond Lu
9aa2ed3a52 [svn-r9774] Purpose: Bug fix
Description:  integer->long double conversion test failed on some of Linux
systems(mir and eirene) when Intel compiler is used.  I'm not able to repeat
the problem.  So I just made a best guess and fix it.  The problem is minor.
The long double on Linux is 12 bytes long but precision is 10 bytes.  The
unused 2 bytes may have garbage in them causing value comparison wrong.


Platforms tested: mir and eirene with Intel compiler.
2005-01-07 13:40:33 -05:00
Raymond Lu
78293f94d7 [svn-r9767] Purpose: Bug fix
Description:  2 small things to correct:
1.  the change in H5config.h.in was wept out by a later change.
2.  long long isn't supported on Windows.  It's long_long instead.


Platforms tested:  fuss(linux 2.4)
2005-01-06 18:06:34 -05:00
Quincey Koziol
e9109df3f2 [svn-r9764] Purpose:
New feature

Description:
    Add some additional features to the skip list code that was needed to
fully support all the features that the threaded, balanced binary tree code
has.

    Also, updated the property list code to take advantage of a few of the
new features.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2005-01-06 17:30:10 -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
Raymond Lu
82f6a72ec9 [svn-r9755] Purpose: New feature
Description:  Start to support software conversion between long double and
all integers.

Solution:  No major changes to the algorithm.  Changes to configure is to
exclude SGI for long double to integers test because there're too many problems
in their compiler.

Platforms tested:  h5committest, modi4, fuss, Teragrid, arabica

Misc. update:  RELEASE.txt
2005-01-06 13:17:59 -05:00
Quincey Koziol
03edfaa6e9 [svn-r9753] Purpose:
Small bug fix

Description:
    Patch szip_can_encode() test routine to return a value for all code paths.

Platforms tested:
    None - very, very minor
2005-01-06 12:20:14 -05:00
Quincey Koziol
7fae6be03c [svn-r9734] Purpose:
Code cleanup

Description:
    Convert chunk iteration code to use skip lists instead of threaded, balanced
binary trees.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & szip
    Too minor to require h5committest
2004-12-30 11:26:45 -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
11631664fd [svn-r9730] Purpose:
Code cleanup (sorta)

Description:
    Transition the generic property list code from using the threaded, balanced
binary tree code (H5TB<foo>() routines) to use skip lists (H5SL<foo>() routines)
for internal management of properties, etc.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-12-30 09:27:29 -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
John Mainzer
5c415042a3 [svn-r9687] Purpose:
Modify the cache code (H5C) to support automatic cache resizing to
adapt to the work load at run time.


Description:

   Different applications require different sized caches to maintain
an acceptable hit rate.  This set of changes attempts to provide the
ability to adjust to circumstances automatically.


Solution:

   Added highly configurable code to allow the user to either set a
fixed cache size, or allow the cache to grow and shrink according to
conditions.

   If enabled, cache size increases are triggered when the hit rate
drops below a user specified threshold in a user specified interval.

   Cache size reductions (if enabled) are triggered when either the
hit rate exceeds some user specified threshold over a user specified
interval, when the cache contains "enough" entries that haven't been
accessed for a user specified interval, or some mix of the above.

   See the header comments on the H5C_auto_size_ctl_t structure in
H5Cprivate.h for further details.

   At present, the cache resize configuration options are not
accessible via the user API.  Must add this.


Platforms tested:

   h5committested, heping (serial), and copper (parallel)


Misc. update:
2004-12-17 20:30:34 -05:00
Quincey Koziol
aa87029f12 [svn-r9615] Purpose:
New feature

Description:
    Add callback iteration routine to skip lists.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest
2004-12-03 22:36:08 -05:00
Albert Cheng
d8f332bcb9 [svn-r9608] Purpose:
Added comment of the fix.

Platforms tested:
only tested in heping as it is only a comment added.
2004-11-30 20:13:29 -05:00
Quincey Koziol
17daa748fa [svn-r9603] Purpose:
Bug fix

Description:
    Correct integer overflow situation for computing the size of a dataset.

Solution:
    Rachet one of the dimensions down far enough that the total size of the
dataset's raw data doesn't overflow a 64-bit int.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    IRIX 6.? (tesla) w/-n32
    Too minor to require h5committest
2004-11-30 15:53:53 -05:00
Quincey Koziol
5d104d60c9 [svn-r9601] Purpose:
New feature

Description:
    Allow skip list keys to be strings (needed for property list support)

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-11-29 23:42:40 -05:00
Quincey Koziol
73df82dcdf [svn-r9598] Purpose:
New internal feature

Description:
    Add a "release" routine to the skip lists, which releases all the nodes
in the skip list, but keeps the skip list active.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Linux 2.4 (verbena)
    Too minor to require h5committest
2004-11-29 16:01:20 -05:00
Quincey Koziol
51ed85b277 [svn-r9596] Purpose:
Code optimization

Description:
    Retarget metadata cache code from using TBBT routines to using new skiplist
routines, for a reasonable speedup (when dealing with dirty metadata)

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Solaris 2.7  (arabica)
    Too minor to require h5committest
2004-11-29 14:55:18 -05:00
Quincey Koziol
b52107a42a [svn-r9580] Purpose:
Add new internal data structure

Description:
    Add an implementation of skip lists to the library (see comment in
src/H5SL.c for references to the papers describing them) as a potential
replacement for our current threaded, balanced binary tree container.
Skip lists are much simpler to implement and should be faster to use.

    Also, added new error codes to release branch, so bump the minor version
number to indicate that the library is no longer perfectly compatible with
the 1.6.3 release.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Solaris 2.7 (arabica)
    Too minor to require further testing (the skip lists aren't actually
    used by any library code yet)
2004-11-27 11:07:11 -05:00
Quincey Koziol
ac4e04fbc2 [svn-r9567] Purpose:
Cleanup & add test

Description:
    Clean up test makefile a bit and add metadata cache test to 1.6 branch.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-11-23 22:15:27 -05:00
Raymond Lu
7016b6e5ed [svn-r9539]
Purpose:  Correction to previous bug fix.  This checkin is mainly to let user
test his program.

Description:   For family driver bug(#213), the previous fix was imperfect.  The problem
was when user create family file, the member size information wasn't saved in file.  When
the file was re-opened, the library simply use the size of 1st member file as member size.

Solution:
              When file is re-opened, member size passed in from access property
              is checked to see if it's reasonable.  If there is only 1 member
              file, member size can't be smaller than current member size.
              If there are at least 2 member files, member size can only be equal
              to the 1st member size.

Platforms tested:  h5committest and fuss
2004-11-18 11:52:12 -05:00
Raymond Lu
22a72b911e [svn-r9531] Purpose: Bug fix(#213)
Description:  H5Pset_fapl_family sets family member size only for creating
new file.  The file doesn't keep this size information.  When the file is
re-opened, the size of first member file is used as the member size.

Solution:  Assume user knows the original member size and sets it through
H5Pset_fapl_family.  That will be the member size.  User can pass in value 0
as member size if he doesn't know the original member size.  Library will
choose the size of current first member size as the member file size.

Platforms tested: h5committest and fuss.
2004-11-16 11:38:28 -05:00
Quincey Koziol
8d422da811 [svn-r9526] Purpose:
Bug fix, sorta.

Description:
    Revert change to H5Pget_data_transform() which changed len of buffer
returned to be inconsistent with H5Iget_name(), etc.  We should discuss this
change and apply it to all the similar functions if we decide to change the
return value.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-11-12 09:16:58 -05:00
Leon Arber
091fbb49e0 [svn-r9518] Purpose:
New tests

Description:
Added tests for chunked reads/writes.

Platforms tested:
eirene + sol + copper

Misc. update:
2004-11-11 12:15:33 -05:00
Leon Arber
9268be2d0d [svn-r9501] Purpose:
Code clean-up

Description:
Rewrote code to make it simpler.

Added more data type tests

Solution:
Simplified code a lot in preparation for addition of new test cases.


Platforms tested:
heping + sol + copper
2004-11-03 12:28:26 -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