Commit Graph

1185 Commits

Author SHA1 Message Date
Quincey Koziol
d484bd9fb7 [svn-r10504] Purpose:
New feature

Description:
    Add wrapper for v2 B-tree "neighbor" routine.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-29 16:26:25 -05:00
James Laird
7acf3f1b12 [svn-r10475] Purpose:
Feature - conditional compilation

Description:
SRB file driver and tests are now compiled only when SRB is enabled
(using --with-srb during configure).

Solution:
Added an automake conditional in configure.in, altered Makefiles.am in
src and test directories to depend on that conditional.
This should make a nice example for posterity to add conditionally
compiled sources.

Platforms tested:
heping (only configure change)
2005-03-29 12:38:17 -05:00
James Laird
9452992c09 [svn-r10459]
Purpose:
Added C++ wrapper for Packet Table API.

Description:
Added macro for high-level C++ library (LIBH5CPP_HL), which changes every
Makefile.in.
Added directories for high-level C++ library (though currently only Packet
Table API is supported).
Added both C++ source and tests.

Platforms tested:
sleipnir, mir, modi4

Misc. update:
2005-03-28 11:32:20 -05:00
Raymond Lu
293f9f9afb [svn-r10457] *** empty log message *** 2005-03-26 11:16:42 -05:00
Raymond Lu
705b9ec0c9 [svn-r10445] Purpose: Bug fix
Description: In test_conv_flt_1() in dtypes.c, the case of Intel-Linux or
AMD-Linux "long double" wasn't considered.  The precision is smaller than
the size.  There may be some garbage left in the unused bytes during hardware
conversion.

Solution:  Clear those bytes before comparison.

Platforms tested:  h5committest and mir, modi4.
2005-03-25 12:53:19 -05:00
Quincey Koziol
48205a43fe [svn-r10421] Purpose:
New feature & code cleanup

Description:
    Add feature to find first block >= a certain size (useful for allocating
space)

    Cleaned up various comments, etc.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-25 10:22:38 -05:00
Raymond Lu
87252df68c [svn-r10402] Purpose: New way to do conversion test between floating-point types.
Description:  The 5th step of changing conversion test.  This checkin is only for conversion
of special values between floating-point types.

Solution: This test is seperated from regular value conversion.  It reuse the same function
test_conv_flt_1() in test/dtypes.c.  The source buffer of floating-point type is filled up
with 8 special values, +/-0, +/-infinity, +/-QNaN, +/-SNaN.

Platforms tested: h5committest, fuss, and modi4.
2005-03-24 11:27:54 -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
Binh-Minh Ribler
5463c0a62b [svn-r10236] Purpose: Added a util wrapper
Description:
    Added function IncTestNumErrs to increment the number of errors
    that is defined in testframe.c

Platforms tested:
    Linux 2.4 (heping)
    AIX 5.1 (copper)
2005-03-19 09:11:40 -05:00
Quincey Koziol
f7ee415cdb [svn-r10231] Purpose:
Bug fix

Description:
    Opening an object in a group that is located in a file which has been
unmounted would cause a core dump. :-(

Solution:
    Re-arrangement internal code to compute internal "user" and "canonical"
names for the newly opened object in a safer way.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-03-17 21:56:01 -05:00
Quincey Koziol
ba50d969c6 [svn-r10230] Purpose:
New feature

Description:
    Add in support for deleting entire block tracker.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-17 19:33:17 -05:00
Raymond Lu
9525ac98d3 [svn-r10228] Purpose: New way to do conversion test between floating-point numbers.
Description:  The 4th step of change conversion test.  This checkin is only for
conversion between floating-point numbers.

Solution:  The source buffer of floating-point number is filled up in the same
way described in the 3rd step(revision 1.155).

Platforms tested: h5committest and fuss.
2005-03-16 11:11:14 -05:00
Raymond Lu
04b7826ed1 [svn-r10218] Purpose: Bug fix
Description:  This commit is actually revision 1.155, which is the 3rd step of
changing conversion test.  It's for conversion from floating-point to integer.

In this step, the source buffer is filled in with normalized and denormalized
floating-point values.  For the normalized values, it starts from FLT(DBL, or
LDBL)_MIN, multiplied by 10(10000 for double, 100000000 for long double) for
the next value, until reaches to FLT_MAX.  For denormalized values, the
exponent part is always 0.  Mantissa part starts with 000...001, 000...011,
000...111, until reaches to 111...111.  The same is with negative values.

There're also fixes in config/hpux11.00 for kelgia where default macro table
size wasn't big enough to handle the big macro in dtypes.c.


Platforms tested: h5committest and kelgia.
2005-03-15 11:31:48 -05:00
James Laird
d1f8a1e1a9 [svn-r10217] Purpose:
Bug fix

Description:
Fix a typo in my last checkin.  Should make some compilers happier
about "operand types."

Platforms tested:
sleipnir, heping, kelgia
2005-03-15 10:15:40 -05:00
James Laird
d1d9335d7a [svn-r10216]
Purpose:
Bug fix

Description:
Calling H5Iobject_verify on an invalid type of ID (e.g., H5I_BADID) triggers
an assert.

Solution:
Test for this condition and return an error instead of an assert.
Added tests for this case.

Platforms tested:
sleipnir (minor change)
2005-03-14 18:02:21 -05:00
Quincey Koziol
5420387976 [svn-r10203] Purpose:
New feature/tests

Description:
    Add better support & tests for removing blocks being tracked.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-11 17:18:35 -05:00
Quincey Koziol
941edeab91 [svn-r10199] Purpose:
New feature

Description:
    Add basic block removal feature

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-11 16:14:52 -05:00
Quincey Koziol
df886c57fc [svn-r10198] Purpose:
New feature

Description:
    Handle merging new blocks with existing blocks

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-11 14:21:04 -05:00
Quincey Koziol
fcb67f0e86 [svn-r10195] Purpose:
New feature

Description:
    Add feature to modify an existing record in a B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-11 09:05:32 -05:00
Raymond Lu
d903bca3cf [svn-r10194] Purpose: Roll back change made last time
Description:  Reverse the 3rd step of change just checked in yesterday(revision 1.155) because of some errors
in daily test.  Use the revision 1.154 for now until the problem is fixed.


Platforms tested:  fuss - simple rolled back to previous revision.
2005-03-11 08:21:48 -05:00
Quincey Koziol
fb0a958aec [svn-r10192] Purpose:
New tests

Description:
    Add some validity tests for rejecting overlapping blocks

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 23:42:46 -05:00
Quincey Koziol
0813413a78 [svn-r10191] Purpose:
New tests

Description:
    Add some internal validation routines and make certain that the max & min
block sizes get tracked accurately, at least for a simple series of insertions

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 23:34:06 -05:00
Quincey Koziol
330a3f1fcb [svn-r10190] Purpose:
New feature

Description:
    Add query for the total size of blocks tracked

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 23:01:49 -05:00
Quincey Koziol
da3eeee908 [svn-r10189] Purpose:
New feature & bug fix

Description:
    Support inserting multiple blocks

    Start tracking the metadata about the blocks.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 22:45:56 -05:00
Quincey Koziol
4d86e9e8b8 [svn-r10186] Purpose:
New feature

Description:
    Add basic code to insert blocks into block tracker.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 21:30:53 -05:00
Quincey Koziol
46dcfc7a49 [svn-r10185] Purpose:
New feature & bug fix

Description:
    Allow NULL 'op' for find operations to easily query the existance of a
record for a key during H5B2_find() operations.

    Fix H5B2_neighbor() to work properly with empty B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 21:27:59 -05:00
Quincey Koziol
5b7ebc2ff9 [svn-r10184] Purpose:
New feature

Description:
    Add new "block tracker" data structure to library, for tracking blocks of
bytes in a file.  Block trackers will be used to keep track of the blocks
belonging to the soon-to-be-implemented "segmented heap" which is designed to
replace the current local & global heaps (starting with the local heap).
Block trackers will also keep track of the free space in the segmented heap
and someday could be used to track the free space in the entire HDF5 file.
    They are implemented as a small header of information to cache the state
of the blocks (max & min sizes of blocks tracked, etc.) and the records of
the blocks themselves are stored in a v2 B-tree.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
    h5committest
2005-03-10 19:44:03 -05:00
Raymond Lu
4f3d64fd3d [svn-r10180] Purpose: New way to do conversion test from floating-point to integer.
Description: This is the 3rd step of change conversion test.  This checkin is
only for conversion from floating-point to integer.

Solution:  The source buffer is filled in with normalized and denormalized
floating-point values.  For the normalized values, it starts from FLT(DBL, or
LDBL)_MIN, multiplied by 10(10000 for double, 100000000 for long double) for
the next value, until reaches to FLT_MAX.  For denormalized values, the
exponent part is always 0.  Mantissa part starts with 000...001, 000...011,
000...111, until reaches to 111...111.  The same is with negative values.

Platforms tested: h5committest and fuss.
2005-03-10 16:49:28 -05:00
Quincey Koziol
451e55aac0 [svn-r10176] Purpose:
New feature

Description:
    Add routine to delete entire B-tree from a file.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 11:13:58 -05:00
Quincey Koziol
e79c145d91 [svn-r10173] Purpose:
Code cleanup

Description:
    Remove some extraneous ifdef's

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor for other testing
2005-03-09 14:53:27 -05:00
Quincey Koziol
ec169e7bc2 [svn-r10172] Purpose:
Bug fix & New feature

Description:
    Correct some situations where a write lock on the data in the metadata
cache was requested, but only a read lock is necessary.

    Add routine to find nearest neighbor record < or > to a query key.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-09 14:39:20 -05:00
Quincey Koziol
7f88485025 [svn-r10168] Purpose:
Bug fix & new tests

Description:
    Fix another couple of issues with record removal and add some more tests to
make certain removals work correctly.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-08 14:56:29 -05:00
Raymond Lu
eca2e81266 [svn-r10163] Purpose: New way to do conversion test from integers to floating numbers.
Description:  This is the 2nd step of changing conversion test.  This checkin is
only for conversion from integer to floating number.  The source buffer of
integer is filled up in the same way described in the last checkin(revision
1.153).


Platforms tested: fuss, sol, and heping - copper was down.  Couldn't do
h5committest.
2005-03-08 12:10:02 -05:00
Quincey Koziol
2df8540798 [svn-r10162] Purpose:
Bug fix & new tests

Description:
    Fix several errors in record removel routines, which should now be feature
complete for removing records at any location in the B-tree (further testing
will verify this)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-08 11:18:58 -05:00
Quincey Koziol
4bcd59d351 [svn-r10159] Purpose:
Bug fix

Description:
    Corrected errors in record removal code to handle removing records in
higher nodes in the B-tree.

Platforms tested:
    FreebSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-07 15:12:57 -05:00
James Laird
25df1908bc [svn-r10158] Purpose:
Automake version upgrade

Description:
Upgraded automake version from 1.6.2 to 1.9.5.
Changed bin/reconfigure script to use automake 1.9.5.
Changed configure.in and Makefiles to use new FCFLAGS and FC variables
instead of FFLAGS and F9X.
Automake and configure should now do the lion's share of the work
supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will
be cleaned later).
Altered how configure handles pmake; now root-level Makefile.in is
processed by bin/reconfigure to have a .MAKEFLAGS target, since
automake no longer allows us to define unused variables.
Configure now always checks for C++ compiler even if it is not
used, since automake thinks this is the Right Thing To Do and
will break otherwise.

Platforms tested:
Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
2005-03-07 12:57:27 -05:00
Quincey Koziol
630b2901c5 [svn-r10156] Purpose:
Bug fix & new feature

Description:
    Allow B-tree's height to be reduced when removing records.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-05 02:50:17 -05:00
Quincey Koziol
36b45feae5 [svn-r10155] Purpose:
More tests

Description:
    Add tests for removing records in the root of a level-1 B-tree and
promoting and merging leaf nodes.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-05 00:27:45 -05:00
Quincey Koziol
8d2ddf5170 [svn-r10154] Purpose:
Bug fix/new feature

Description:
    Tweak the record promotion algorithm to get it working correctly when
promoting and redistributing records.

    Added tests for that case.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-05 00:04:13 -05:00
Quincey Koziol
9845d40eb5 [svn-r10153] Purpose:
New feature

Description:
    Allow records in internal nodes to be removed, not just records in leaf
nodes.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-04 23:04:54 -05:00
Quincey Koziol
009f57c1ba [svn-r10152] Purpose:
Bug fix & new feature

Description:
    Fix error in 3-node redistribution when nodes are only moving into the
middle node from the left & right nodes (which happens sometimes during
record removals).

    Clean up internal insert & remove routines to remove lots of redundant
checking.

    Added 3->2 node merge routine to handle more record removal cases.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Solaris 2.11 (shanti)
2005-03-04 21:51:55 -05:00
Quincey Koziol
156505bbf9 [svn-r10151] Purpose:
New feature

Description:
    Add code to handle 2->1 node merges during record removal.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-04 18:49:15 -05:00
Raymond Lu
7e0e9edc44 [svn-r10150] Purpose: A new way to do conversion test
Description: This is the first step of changing conversion test.  This checkin is only for conversion
between integers.  Instead of filling source buffer with randomly generated bit pattern, this new way
uses more sensible bit patterns.  It's easier to see using "char" as source for example.  The bit patterns
will be
        00000001, 00000010, 00000100, 00001000, 00010000, 00100000, 01000000, 10000000
        00000000, 00000011, 00000111, 00001111, 00011111, 00111111, 01111111, 11111111
        11111111, 11111110, 11111100, 11111000, 11110000, 11100000, 11000000, 10000000

The main point of this way is to avoid casting and comparison between source and destination types by
compiler.  The bit patterns will cover positive maximum and minimum, negative maximum and minimum if
the source is signed integer.


Platforms tested: h5committest and fuss.
2005-03-04 18:10:49 -05:00
Quincey Koziol
c153ca4d5e [svn-r10149] Purpose:
Bug fix & new feature

Description:
    Fix a couple of off-by-one errors in assertions (code was actually correct)
for 3 node redistributions.

    Remove "old" node removal code that is unused now.

    Add more tests that verify that 2-node and 3-node redistributions are
working correctly for removals.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-04 17:22:34 -05:00
Quincey Koziol
831be556f4 [svn-r10148] Purpose:
New test

Description:
    Add a couple more tests for removing records before I start modifying the
code further.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-04 16:48:54 -05:00
Quincey Koziol
84ffc9d1c1 [svn-r10135] Purpose:
Bug fix & new feature

Description:
    Fix problem with inserting existing keys into B-tree corrupting record
counts along the path to the failed insertion.

    Add more support for removing records, it's now handling removing records
from leaves of level-1 B-trees.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti)
2005-03-03 16:39:57 -05:00
Albert Cheng
f5c24bc9a4 [svn-r10130] Purpose:
Retired GASS driver.

Platforms tested:
H5committested.
2005-03-03 13:10:16 -05:00
Albert Cheng
85917a7341 [svn-r10129] Corrected typos which should have said SRB instead of GASS.
NOt tested since there is no SRB server to test with.
2005-03-03 12:26:26 -05:00
Albert Cheng
0d514907a9 [svn-r10123] Purpose:
Removed GASS configuration and software packages associated with
it.  The following software are no longer configurable.

checking for main in -lcrypto... yes
checking for SSL_get_version in -lssl... yes
checking globus_common.h usability... yes
checking globus_common.h presence... yes
checking for globus_common.h... yes
checking for globus_module_activate in -lglobus_common... yes
checking for main in -lglobus_gass_cache... yes
checking for main in -lglobus_gaa... yes
checking for main in -lglobus_gss... yes
checking for main in -lglobus_gss_assist... yes
checking for main in -lglobus_io... yes
checking for main in -lglobus_gass_transfer_assist... yes
checking for main in -lglobus_gass_transfer... yes
checking for globus_gass_open in -lglobus_gass_file... yes

Platforms tested:
h5committested (but copper was down.) tested in modi4 too.
2005-03-02 15:02:55 -05:00
Quincey Koziol
11a9d30177 [svn-r10094] Purpose:
New features & refactor

Description:
    Add basic record removal (only handles level-0 B-trees currently)

    Add query routine to check the number of records in a B-tree

    Add debugging routine to check the address of the root node in the B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-26 08:05:41 -05:00
Raymond Lu
82ae8ac4e0 [svn-r10087] Purpose: New feature and test
Description:  Somehow, the hardware conversions between "long double" and other native floating-point
types were left out.

Solution:  Added the hardware conversion functions in H5Tconv.c and test cases in dtypes.c.

Platforms tested: h5committest and fuss.

Misc. update: updated MANIFEST to replace bin/reconfigure.sh with bin/reconfigure
2005-02-25 15:26:32 -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
Quincey Koziol
2be0f58f60 [svn-r10078] Purpose:
Bug fix & new feature

Description:
    Fix errors in tracking the total number of records "below" a node.

    Add feature to find the n'th record in a B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-24 16:44:30 -05:00
Quincey Koziol
b1485cfdcf [svn-r10077] Purpose:
New feature, refactor code

Description:
    Add call to search for a record in a B-tree by key value

    Refactored some of the existing callbacks to simplify them.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-24 12:23:26 -05:00
Quincey Koziol
e0a6b93e02 [svn-r10071] Purpose:
Bug fixes

Description:
    Fix several bugs in B-tree insertion code, which now appears to be fully
functional.  (Tested to 1,280,000 records at least...)

    Add random record insertion test to shake out boundary conditions, etc.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-23 16:32:06 -05:00
James Laird
0b83fea125 [svn-r10066] Purpose:
Libtool upgrade

Description:
HDF5 was using libtool 1.4.2.  Upgraded to libtool 1.5.14.

Platforms tested:
verbena, heping, pommier, copper, modi4, arabica
2005-02-23 11:47:00 -05:00
Quincey Koziol
e03fe7a647 [svn-r10047] Purpose:
New feature

Description:
    Allow internal nodes to perform 3->4 splits.  Inserting records should now
be feature complete.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-19 12:46:33 -05:00
Quincey Koziol
b5b1d7f713 [svn-r10046] Purpose:
New feature

Description:
    Allow 3 node redistributions to work on internal nodes.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-19 10:32:26 -05:00
Quincey Koziol
e0c3218a0a [svn-r10045] Purpose:
New feature

Description:
    Allow internal nodes in v2 B-tree to undergo 2->3 splits

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-19 09:49:20 -05:00
Quincey Koziol
cd93442df6 [svn-r10044] Purpose:
New feature

Description:
    Allow internal nodes in v2 B-tree to perform 2 node redistribution

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-18 16:21:47 -05:00
Quincey Koziol
29ccf4aa7a [svn-r10038] Purpose:
New test

Description:
    Add tests for splitting leaves in level-2 B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-02-17 16:43:36 -05:00
Quincey Koziol
9181ed0fa4 [svn-r10036] Purpose:
New test

Description:
    Add more regression tests for redistributing leafs in a level-2 B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-02-17 16:12:45 -05:00
Quincey Koziol
45f2b11026 [svn-r10034] Purpose:
New test

Description:
    Add extra tests for v2 B-tree iterator

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor to require h5committest
2005-02-17 15:40:13 -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
7b4b65be1c [svn-r10025] Purpose:
New feature.

Description:
    Add the scaleoffset internal library filter.

Solution:

Platforms tested:
    heping, copper, arabica

Misc. update:
2005-02-16 22:03:50 -05:00
Quincey Koziol
27dbdb8c71 [svn-r10020] Purpose:
New feature

Description:
    Add code to iterate over all the records in a v2 B-tree.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-16 19:37:04 -05:00
James Laird
8ed95c0011 [svn-r10016]
Purpose:
Bug fix

Description:
modi4 dies during build with strange errors.
The root cause of these is a two-year-old hack in HDF5's libtool
script that only takes effect on IRIX.

Solution:
Edited the libtool hack (by editing ltmain.sh) to correct a bug in
the hack.
Also made sure that compiler-specific DEFAULT_LIBS are used
when linking.

Platforms tested:
sleipnir, copper, modi4, sol
2005-02-16 14:27:27 -05:00
Quincey Koziol
7316f0e7e7 [svn-r9995] Purpose:
New feature & bug fix

Description:
    Allow root node to split, forming a level 2 B-tree

    Fix error where wrong record was being copied up to parent node for a 2
node redistribution on the "right" side of the B-tree.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti)
2005-02-11 18:36:08 -05:00
James Laird
b96f342722 [svn-r9993] Purpose:
Bug fix

Description:
Arabica exhibited strange errors when linker found wrong versions of
header files.  This happened because include directories were
given to linker in the wrong order.

Solution:
Move include directories from AM_CFLAGS variable to INCLUDES
variable to put them before CPPFLAGS variable.  Trust me, it works.
This bug may also have contributed to strange errors on other platforms
(kelgia?).

Platforms tested:
copper, sleipnir, arabica.
	(h5dump broke while building on arabica, but this happened in
	a clean checkout, too).
2005-02-11 16:32:22 -05:00
James Laird
3f0a35a4ea [svn-r9988] Purpose:
Bug fix

Description:
pmake (on modi4, for instance) complains about undefined variables
if it is run without the -V flag, which turns those errors to warnings.

Solution:
Added test to configure.in to see if $MAKE will allow Makefiles
with undefined variables.  If not, sets -V flag in AM_MAKEFLAGS.
Ensured that all custom make targets use AM_MAKEFLAGS.
Also defined all variables that caused errors in top-level Makefile.am.
This means that pmake can be used to build hdf5 *from the top level
only*.  To run make from a subdirectory, still need to use -V flag
(or use make or gmake).

Platforms tested:
modi4, heping, copper, sleipnir
2005-02-11 12:40:52 -05:00
Raymond Lu
54f376edbb [svn-r9987] Purpose: bug fix
Description:  For hardware conversion from integers to "long double" on AMD machine, the test
failed because the size of "long double"(can be 16 bytes) is bigger than the precision(80 bits).
There can be some garbage in the unused bytes in "long double".  That caused failure during
byte comparison.

Solution:  Clean these unused bytes before comparison.

Platforms tested:  mir and fuss; simple change
2005-02-11 11:59:50 -05:00
Quincey Koziol
9bda1fcfd8 [svn-r9986] Purpose:
New feature & code cleanup

Description:
    Change some references from 'keys' to 'records', which is more correct for
this implementation.

    Added feature to allow preemptive 3 node record redistributions (for leaves
only currently)

    Added feature to perform preemptive 3->4 node splits (for leaves only
currently)

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti) w/purify
    Too minor to require h5committest
2005-02-11 01:50:20 -05:00
Quincey Koziol
ebfc303556 [svn-r9985] Purpose:
New feature & bug fixes

Description:
    Checkpoint v2 B-tree code after getting preemptive 2->3 node splitting
working (for leaf nodes only at the moment, however).

    Also, correct a problem with redistributing records that was probably
causing the failures on mir in yesterday's daily tests.

    Ran code through purify on shanti and cleared up some warnings.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti) w/purify
2005-02-10 21:40:16 -05:00
Raymond Lu
479bdb0bbd [svn-r9984] Purpose: New feature and test
Description:  Added support of hardware conversion between "long double" and integers(mainly
in H5Tconv.c) and some test cases(mainly in test/dtypes.c).


Platforms tested:  h5committest and fuss.

Misc. update:  RELEASE.txt
2005-02-10 17:19:39 -05:00
Quincey Koziol
9f76f83f48 [svn-r9971] Purpose:
New feature

Description:
    Checkpoint v2 B-tree code after getting 2 leaf record redistribution
working and tested.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor to require h5committest
2005-02-09 16:32:07 -05:00
Raymond Lu
86c18b7e4f [svn-r9966] Purpose: Bug fix
Description: H5Tget_member_value didn't return correct value if called after
H5Tenum_valueof.  It's because there's a sorting on the members of enum type in
H5Tenum_valueof which changed the order of members.

Solution:  Made a copy of original type and do sorting on it to protect the
original order.

Platforms tested:  fuss; tested v1.6 with h5committest

Misc. update:  RELEASE.txt
2005-02-09 10:54:44 -05:00
Quincey Koziol
71434c4d03 [svn-r9962] Purpose:
Bug fix & code update

Description:
    Fix error in new free-list factory routines that was causing errors on
tungsten, et al.

    Also, checkpoint v2 B-tree code.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Linux 2.4 (tungsten)
    Otherwise too minor to require h5committest
2005-02-08 16:48:14 -05:00
Raymond Lu
70c0ba03ce [svn-r9959] Purpose: Bug fix
Description: For variable-length string, H5Tget_class returned H5T_STRING as
its class.  But H5Tdetect_class and H5Tget_member_class considered it as
H5T_VLEN.  This is fixed to let all these 3 functions treat it as H5T_STRING.
Some test cases have been added to dtypes.c


Platforms tested:  heping - already tested for v1.6 with h5committest

Misc. update:  RELEASE.txt
2005-02-08 13:30:29 -05:00
Quincey Koziol
b4153b4f5e [svn-r9955] Purpose:
New feature & bug fix

Description:
    Allow h5debug tool to dump "test" v2 B-trees correctly.

    Also, fix incorrect parameter passing that was causing failures on
various platforms.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    AIX 5.2 (copper)
2005-02-07 20:03:48 -05:00
Quincey Koziol
a0c833a287 [svn-r9944] Purpose:
Bug fix (sorta)

Description:
    Disable btree2 testing until Monday, when I can look into the failures
without a toddler on my lap. :-)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
2005-02-05 15:43:22 -05:00
Quincey Koziol
24770bf218 [svn-r9939] Purpose:
New feature

Description:
    Expand v2 B-tree code to support splitting the root node when enough
records are inserted and move metadata cache callbacks into their own source
file.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor for h5committest
2005-02-04 16:14:42 -05:00
James Laird
db2575baa9 [svn-r9930]
Purpose:
Bug fix

Description:
Parallel builds were breaking in tools/lib

Solution:
talign didn't realize it depended on libh5tools.la because its
dependencies listed the full path (../../tools/lib/libh5tools.la).
Changed this, and made similar changes in a couple of other
directories.
This checkin should also add the --foreign flag to every Makefile.in

Platforms tested:
sleipnir (minor change)
2005-02-03 16:59:40 -05:00
Quincey Koziol
0b332ace5e [svn-r9928] Purpose:
New feature

Description:
    Add basic code for new B-tree implementation.  They don't do much yet,
aren't hooked up to anything yet and the format may change, but I'd like to
start getting them into the daily tests.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor to require h5committest
2005-02-03 14:59:05 -05:00
James Laird
ab243bf369 [svn-r9920] Purpose:
Bug fix

Description:
Found the permanant fix to automake/CVS dependency problem

Solution:
Added AM_MAINTAINER_MODE macro to configure.in.
Now automake will never try to regenerate Makefiles, Makefiles.in,
configure, H5config.h, etc. when they are out of date, nor will it
print any warnings.
Developers should  be very very careful to use reconfigure script,
and can add --enable-maintainer-mode flag to configure on heping
to regenerate these files correctly.

Platforms tested:
heping sleipnir copper
2005-02-02 15:59:46 -05:00
James Laird
ed8685acd2 [svn-r9915] Purpose:
Bug fix

Description:
Configuration files' timestamps were incorrect.

Solution:
Update Makefiles.in.  Also added correct paths to autotools on heping,
so heping build should be able to re-generate configuration files even
if they are still broken.

Platforms tested:
sleipnir
2005-02-02 11:00:36 -05:00
James Laird
e3dacb31be [svn-r9912] Purpose:
Bug fix

Description:
Dependencies between configure files (aclocal, configure.in, configure,
Makefiles.am and .in) are still causing Makefiles to try to run autotools
during build.

Solution:
Committed all Makefiles.in to update their timestamps.
As a temporary measure, forcibly prevented automake from running
autotools during build by redefining the variables it uses.

Platforms tested:
sleipnir (No changes to Makefile content)
2005-02-01 16:05:33 -05:00
Raymond Lu
ae02f3f80a [svn-r9909] Purpose: Bug fix for test
Description:  To avoid randomly generating NaN for "long double" during
conversion test, decrease the exponent by 1 if all exponent bits are set
1s.


Platforms tested:  eirene(production) and fuss.
2005-02-01 13:48:27 -05:00
James Laird
30bfb1e0ea [svn-r9907] Purpose:
Bug fix

Description:
Different compilers use different flags to include Fortran module files

Solution:
Changed boilerplate to use configure variable rather than hardcoded -M flag.

Platforms tested:
sleipnir, sol, copper
2005-02-01 10:27:37 -05:00
James Laird
26303241fe [svn-r9902] Purpose:
Configuration feature

Description:
HDF5 now uses automake to generate Makefiles

Solution:
Makefile.in files are now generated from Makefile.am files.
To reconfigure (after chaning a Makefile.am or configure.in):
/bin/sh bin/reconfigure.sh

Platforms tested:
Many
2005-01-31 22:17:02 -05:00
Quincey Koziol
9f17319144 [svn-r9899] Purpose:
Code cleanup

Description:
    Clean up some leftover testfiles...

Platforms tested:
    Too minor to require h5committest...
2005-01-31 20:50:00 -05:00
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
Quincey Koziol
17fec21284 [svn-r9486] Purpose:
Code cleanup

Description:
    Change loops for comparing results to use 2-D array lookups, since that's
what we've really got and the older 1-D array lookups was making the PGI C
compiler whine about array bounds issues.

Platforms tested:
    Linux 2.4 (heping) w/PGI C
    Not relevent to other platforms, no h5committest
2004-10-28 22:32:24 -05:00
Quincey Koziol
c274ffe1c9 [svn-r9466] Purpose:
Bug fix

Description:
    Clean up potential buffer overflow in strncpy()

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-10-26 21:12:02 -05:00
Leon Arber
22696535f5 [svn-r9464] Purpose:
Bug fix.

Description:
dtransform test still failed on windows because it was attempting to create a
ullong dataset.

Solution:
Removed creation of ullong dataset as well if H5_ULLONG_TO_FP_CAST_WORKS was
not defined.

Platforms tested:
windows
2004-10-26 16:48:15 -05:00
Leon Arber
1a869e39dc [svn-r9463] Purpose:
Bug fix.

Description:
unsigned long long test fails on windows because windows cannot convert from
ullong to double

Solution:
Skip unsigned long long test if H5_ULLONG_TO_FP_CAST_WORKS is not defined.

Platforms tested:
eirene and will do windows test asap.
2004-10-26 16:04:31 -05:00
Leon Arber
4c8429e3d2 [svn-r9462] Purpose:
Added tests
Code cleanup

Description:
New tests added for new version of H5Pget_data_transform and additional tests
to make sure that error conditions are handled properly by both
H5Pset_data_transform and H5Pget_data_transform.

Also cleaned up code to make it more compact.

Platforms tested:
sol + eirene + copper

Misc. update:
2004-10-26 15:47:22 -05:00
Quincey Koziol
3b63db5f7f [svn-r9459] Purpose:
Code cleanup

Description:
    Clean up minor warnings and align with release branch.


Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & FPH5
    Solaris 2.7 (arabica) w/production mode
    Linux 2.4 (heping) w/C++ and FORTRAN
2004-10-26 15:07:10 -05:00
Albert Cheng
06a81051f0 [svn-r9450] Purpose:
"Improvement"?

Description:
Long double is a standard C89 type.  Promoted it from
a conditional tested type to an assumed supported type.

Platforms tested:
H5committested.

Misc. update:
2004-10-22 16:11:16 -05:00
Raymond Lu
cacc8fa4c6 [svn-r9445] Purpose: Bug fix
Description:  "char" was considered as always "signed char" in data type conversion.  However, ISO C leaves
the definition of "char" to individual implementation.  i.e. for IBM AIX C compiler, it's treated as "unsigned
char".

Solution: Changed all "char" to "signed char".  Don't even do "char" anymore because its definition is up
to each vendor.

Platforms tested:  h5committest
2004-10-21 11:04:08 -05:00
Leon Arber
b7a3a55b77 [svn-r9442] Purpose:
Add code more code to test H5Pget_data_transform and H5Pset_data_transform

Description:
Added a test to verify that H5Pset_data_transform will correctly replace a
data transform with a new one and properly use the new transform on the data.

Added a test to verify that H5Pget_data_transform properly returns the
transform string.

Platforms tested:
sol + eirene + copper

Misc. update:
2004-10-20 16:09:54 -05:00