Commit Graph

3340 Commits

Author SHA1 Message Date
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
2e52c2f4f2 [svn-r10456] Purpose: New way to do conversion test from floating-points to integers.
Description:  The 6th step of changing conversion test.  This checkin is
only for conversion of special values from floating-points to integers.

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

Also added 3 new conversion exception values H5T_CONV_EXCEPT_PINF, H5T_CONV_EXCEPT_NINF,
H5T_CONV_EXCEPT_NAN, for floating-point special values positive infinity, negative
infinity, and NaN.  These values are for conversion exception callback function defined
through H5Pset_type_conv_cb(). (Remember to update the document!)

Platforms tested: h5committest
2005-03-26 11:16:27 -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
0e5ae5c4ba [svn-r10396] Purpose:
Minor modification.

Description:
    Remove some redundant codes.

Solution:

Platforms tested:
    heping

Misc. update:
2005-03-23 22:02:15 -05:00
Xiaowen Wu
a25827491b [svn-r10384] Purpose:
New feature & bug fix.

Description:
    The scaleoffset filter was not completed at last check-in and had quite
    a few bugs.

Solution:
   The scaleoffset filter is now complete for compressing integers. All previous
   bugs have been fixed. The filter does not compress floating-point at present.
   The filter only supports integer and floating-point datatypes.

Platforms tested:
    heping, copper, shanti

Misc. update:
2005-03-23 12:36:05 -05:00
Raymond Lu
b35c05cd92 [svn-r10266] Purpose: Bug fix
Description:  The recent change of conversion between floating-point and floating-point types in dtypes.c have
detected some bugs in H5T_conv_f_f in H5Tconv.c.

Solution:  This checkin is to fix these bugs.  They happened in a few places in H5T_conv_f_f causing incorrect
rounding, denormalization, etc.

Platforms tested:  h5committest and modi4
2005-03-22 11:12:42 -05:00
Quincey Koziol
9dad79e3f8 [svn-r10238] Purpose:
Optimization

Description:
    Speed up I/O on enumerated datatypes (including those nested in compound
datatypes, arrays, etc.) if the destination datatype is a proper superset of
the source datatype.

Solution:
    Detect the situation and treat as no-op datatype conversion.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-03-19 20:32:35 -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
Quincey Koziol
b5ebea64d0 [svn-r10229] Purpose:
Update comments

Description:
    Correct some minor errors in comments/error strings.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti)
2005-03-17 15:48:45 -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
James Laird
fbcc3e84c0 [svn-r10215] Purpose:
Configure feature

Description:
On some platforms with some compilers, automake's dependency tracking
is silently disabled.  This can be confusing for developers.

Solution:
Set configure to enable dependencies all the time unless the user
explicitly disables them (using the configure flag
--disable-dependency-tracking) or a site file overrides the default
(as is the case on IRIX).

Platforms tested:
sleipnir, mir
2005-03-14 15:35:55 -05:00
MuQun Yang
7e6577fdea [svn-r10208] Purpose:
Collective chunk IO configuration

Description:
Forgot adding H5config.h.in to the CVS tree.

Solution:

Platforms tested:
Copper, heping

Misc. update:
2005-03-14 09:30:01 -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
46b9fb5081 [svn-r10196] Purpose:
Code cleanup

Description:
    Actually use the new error code defined... :-)

Platforms tested:
    None, too minor to require re-test.
2005-03-11 09:09:20 -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
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
331e8bf9ae [svn-r10188] Purpose:
Bug fix

Description:
    Correct the native record size.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 22:43:10 -05:00
Quincey Koziol
45a16682e2 [svn-r10187] Purpose:
Code cleanup, mostly

Description:
    Remove remaining TBBT error info

    Add new error code for block tracker

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 21:33:09 -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
Quincey Koziol
134d7ed4f0 [svn-r10183] Purpose:
Fix comment

Platforms tested:
    None, too minor...
2005-03-10 19:31:39 -05:00
Quincey Koziol
9b60f48605 [svn-r10182] Purpose:
Add comments

Description:
    Add note to investigate "deterministic skip lists", in case I forget...

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 19:20:36 -05:00
Quincey Koziol
9ed38180d7 [svn-r10181] Purpose:
Code cleanup

Description:
    Make more of the loops over the types of memory use the existing macros.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 19:19:31 -05:00
Quincey Koziol
bdbf2b7909 [svn-r10178] Purpose:
Correct formatting

Description:
    Move some typedefs out of the macro section into the typedef section

Platforms tested:
    None, too minor to require any.
2005-03-10 11:41:28 -05:00
Quincey Koziol
674243b857 [svn-r10177] Purpose:
Update comments

Description:
    Correct comment about how H5B2_create() works.

Platforms tested:
    None, just minor comment change.
2005-03-10 11:16:57 -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
966d089771 [svn-r10175] Purpose:
Code cleanup

Description:
    Clean up a few warnings flagged by the Intel C compiler.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/Intel C
    Too minor to require h5committest
2005-03-10 09:30:51 -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
0be2fb3aa3 [svn-r10169] Purpose:
Bug fix

Description:
    Correct minor array bounds read error of 0 bytes that purify found.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-08 16:30:21 -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
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
Xiaowen Wu
1f245394e2 [svn-r10161] Purpose:
New feature.

Description:
    The nbit filter does not support situations where datatype of string,
    time, enum, variable-length, bitfield, opaque, reference is a field of
    a compound datatype or array datatype.

Solution:
    Modify the nbit filter to hanle such situations. The filter is a no-op
    to these dataytypes.

Platforms tested:
    copper, heping.

Misc. update:
2005-03-07 22:38:03 -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
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
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
83cbb092ed [svn-r10147] Purpose:
Bug fix

Description:
    Filter callback routines were being called with memory "version" of disk
datatype (don't ask... :-), which could result in incorrect calculations in
the filter callbacks.

Solution:
    Rearrange code to call the filter callbacks after the final disk "version"
of the disk datatype has been created.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-03-04 16:31:25 -05:00
Quincey Koziol
fc78e01d15 [svn-r10145] Purpose:
Bug fix

Description:
    Add some "safety net" sort of assertions and sanity checks contributed by
user.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-03-04 16:19:28 -05:00
Quincey Koziol
afdf7fcfa6 [svn-r10144] Purpose:
Bug fix

Description:
    The GASS VFL driver header file was bringing in the <string.h> header file,
which several other source code modules needed also, but weren't including
explicitly themselves.

Solution:
    Add includes for <string.h> to files which actually need them.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/C++ as CC
    Configuration not tested by h5committest...
2005-03-04 12:01:02 -05:00