Commit Graph

126 Commits

Author SHA1 Message Date
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
Quincey Koziol
e1c1f5cc15 [svn-r9395] Purpose:
Bug fix

Description:
    Correct a couple of array bounds issues exposed by the PGI compiler

Platforms tested:
    Linux 2.4 (verbena) w/PGI compilers
    Too minor too requie h5committest
2004-10-10 14:22:03 -05:00
Quincey Koziol
166580844b [svn-r9393] Purpose:
Code cleanup

Description:
    Clean up formatting and some mis-casts, etc.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Linux 2.4 (verbena)
    Solaris 2.7 (arabica)
2004-10-08 23:28:33 -05:00
Raymond Lu
d595bab80e [svn-r9366]
Purpose:  feature change

Description:  Prevent creating datatype of size 0.


Platforms tested:  fuss(simple change)
2004-10-05 13:36:03 -05:00
Raymond Lu
753190f8c1 [svn-r9350] *** empty log message *** 2004-10-01 13:28:18 -05:00
Quincey Koziol
6ae26dba82 [svn-r9053] Purpose:
Bug fix

Description:
    Correct possible core dump when a datatype conversion function is
registered with the library after a compound datatype has been converted
(having it's type conversion information cached by the library).  The compound
datatype must have been created by inserting the fields in non-increasing
offset order to see the bug.

Solution:
    Re-sort the fields in the compound datatypes before recalculating the
cached information when performing the conversion on them.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    h5committested
2004-08-08 17:12:18 -05:00
Quincey Koziol
d60d367930 [svn-r8964] Purpose:
Revise new feature

Description:
    Add buffer type and version # bytes to the encoded datatype and dataspace
buffers (for H5Tencode & H5Sencode)

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-07-27 22:51:43 -05:00
Quincey Koziol
c97fddc786 [svn-r8892] Purpose:
Code cleanup

Description:
    Clean up a bunch of warnings and bring new code better inline with current
library coding practice.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest

Misc. update:
2004-07-16 15:48:40 -05:00
Raymond Lu
fbc2aaadaf [svn-r8879]
Purpose:  New feature

Description:  New API H5Tencode and H5Tdecode.  Given object ID, H5Tencode encodes object information into a binary form.  H5Tdecode decode an object information in a binary form, reconstructs the object and return a new object ID.

Solution:  Use object header functions H5O_dtype_decode and H5O_dtype_encode to
facilitate them.  The encoded binary is exactly like object header information.
This is the first step checkin.  Will check in H5Sencode  and H5Sdecode later.

Platforms tested:  h5committed and fuss.

Misc. update: will update release.txt after 2nd step checkin.
2004-07-14 16:45:23 -05:00
Quincey Koziol
e5e786f589 [svn-r8782] Purpose:
Code cleanup

Description:
    Clean up almost all warnings from Windows builds.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest
2004-07-01 15:02:47 -05:00
Quincey Koziol
6fc0bffac6 [svn-r8732] Purpose:
Code cleanup

Description:
    Reduce compiler warnings on SGI IRIX

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    SGI IRIX6 (Cheryl's machine)
    Too minor to require full h5committest
2004-06-23 12:56:57 -05:00
Raymond Lu
a83233a2c9 [svn-r8706] *** empty log message *** 2004-06-18 11:18:52 -05:00
Quincey Koziol
ef01629bb2 [svn-r8683] Purpose:
Code optimization

Description:
    Use 'size_t' instead of 'hsize_t' to track the number of elements in
memory buffers, especially for type conversion.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest
2004-06-14 14:32:02 -05:00
Raymond Lu
7ce626721c [svn-r8646] *** empty log message *** 2004-06-10 13:48:09 -05:00
Raymond Lu
5f11bb7260 [svn-r8609] Purpose: bug fix
Description:  internal function opaque_check didn't have prototype.


Platforms tested:  no test needed for such a simple change.
2004-06-03 13:37:04 -05:00
Raymond Lu
dd59aa926c [svn-r8605] *** empty log message *** 2004-06-02 11:35:56 -05:00
Raymond Lu
a9d354fd95 [svn-r8518] Purpose: uncomment part of code.
Description: supposed to be there.
2004-05-13 16:21:58 -05:00
Raymond Lu
b11eb7f4f2 [svn-r8517] *** empty log message *** 2004-05-13 16:17:58 -05:00
Raymond Lu
cee32cf3a8 [svn-r8509] *** empty log message *** 2004-05-12 16:43:21 -05:00
Raymond Lu
980683f1e1 [svn-r8505] *** empty log message *** 2004-05-11 15:26:35 -05:00
Raymond Lu
e6fcf3db0f [svn-r8492] *** empty log message *** 2004-05-07 16:59:24 -05:00
Raymond Lu
14aaec71d7 [svn-r8481] *** empty log message *** 2004-05-04 13:01:22 -05:00
MuQun Yang
1d381a91e7 [svn-r8469] Purpose:
bug fix

Description:
1.  windows cannot recongize long long. We agree to use long_long to represent all "long long" compatible data types.

2. windows test can not check error code, it depends on error messages to be returned. This will be fixed in the future. In odhr.c, somehow only error value1 is generated, there are no error message even if some tests are missing. So just add an error message when error code is 1.
Solution:
change long long to long_long in dtypes.c;
Add an error message when error code is not 0 in ohdr.c

Platforms tested:
eirene(fortran),
arabica(fortran)

Misc. update:
2004-05-03 10:39:45 -05:00
Quincey Koziol
e1016ffdd0 [svn-r8435] Purpose:
Temporarily disable float/double->unsigned long long conversion while I
work on fix.

Platforms tested:
    Linux 2.4 (verbena)
    too minor to require h5committest
2004-04-29 15:33:43 -05:00
Quincey Koziol
d992a4a387 [svn-r8427] Purpose:
Bug fix (sorta)

Description:
    Add hack to allow the MS Visual Studio 6 compiler to build the library.
It cannot cast unsigned long long values to float or double values.  So, add
another configuration macro to disable this conversion in the library.  Just
the "hardware" conversion is disabled, so the library will still correctly
convert unsigned long long to float and double values, it will just happen
more slowly with the "software" conversion routine.

Platforms tested:
    FreeBSD 4.9 (sleipnir) with "Windows" setting faked
    inappropriate for h5committest
2004-04-28 13:42:25 -05:00
Quincey Koziol
12ba2eed6a [svn-r8425] Purpose:
Bug fix (sorta)

Description:
    The SGI machines have problems accurately (and consistently) converting
unsigned long values to float and double values, so put in a bit of a hack in
the datatype conversion test code to allow them to get "close enough".  This
hack is enabled at configure time by a flag which should only be set on machines
with this problem.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2004-04-28 12:02:12 -05:00
Raymond Lu
b3d2f04490 [svn-r8424] *** empty log message *** 2004-04-27 14:16:54 -05:00
Quincey Koziol
0a29514b9d [svn-r8383] Purpose:
Code cleanup

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

Platforms tested:
    SGI O3900, IRIX64 6.5 (Cheryl's SGI machine)
    FreeBSD 4.9 (sleipnir) w/ & w/o parallel
    h5committest
2004-04-17 23:10:09 -05:00
Albert Cheng
e4d5623692 [svn-r8370] Purpose:
Bug fix.

Description:
Not all machines (like Sun and AIX) support fabsl() and fabsf() used
in test/dtypes.c.  Changed the coding to use macro names HDfabsl and
HDfabsf.  Also set the two macros to use ABS for now so that they will
work for all machines. (need more portable fixes which would involve
configure.)

Platforms tested:
h5committested. (also tested in LANL QSC and Theta).
2004-04-17 12:17:32 -05:00
Albert Cheng
7f2eb1127a [svn-r8360] Purpose:
bug fix.

Description:
On LANL QSC, test/dtypes "sw long double -> double" had failed when the
long double values were too small, smaller than the minimum double normalized
floating number.  The hw in QSC converts them mostly to 0 but occasionally,
it converts to the some non-zero values which are still <= the minimum
double normalized number.  But the conversion verification did not like
them and flagged them as errors.

Solution:
Added code to check if the src value is already smaller than the minimum
number the float class can hold.  When that happens and if both hw and sw
conversion results are <= the minimum number, then accepts them as okay
because if the src is smaller than the dst minimum number, an underflow
has occured.

Platforms tested:
Tested in LANL QSC and Theta.
2004-04-16 16:26:37 -05:00
Raymond Lu
d9d34b46e3 [svn-r8262] Purpose: Avoid bug in some systems.
Description:  unsigned long or unsigned long long failed to be converted to
float or double during software conversion on some systems.  It's believed
there are bugs on those systems(modi4, premium, o2, arabica).

Solution:  temporarily disable these tests.

Platforms tested:  Simply comment out.  No need to do test.
2004-03-16 14:55:18 -05:00
Quincey Koziol
18ea372959 [svn-r8260] Purpose:
Code cleanup

Description:
    Remove small debugging block

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-03-13 15:04:24 -05:00
Raymond Lu
95dc09ab4b [svn-r8259] *** empty log message *** 2004-03-13 12:39:41 -05:00
Raymond Lu
a2c349d32a [svn-r8159] Purpose: Disable a test.
Description:  Temporarily disable float(or double) - unsigned long long
software conversion because there is a bug in pgcc compiler.  Will enable it
once the problem is solved.


Platforms tested: RH 8
2004-02-06 16:57:34 -05:00
Raymond Lu
08aa29cd5e [svn-r8153] *** empty log message *** 2004-02-04 17:52:01 -05:00
Quincey Koziol
efca86dc64 [svn-r8133] Purpose:
Optimization

Description:
    Improve the time this takes to run by hoisting a check for the signed-ness
of the source and destination datatypes out of inner loop.  (Speeds up test time
by almost 1/3)

Platforms tested:
    IBM p690 (copper)
    too minor for h5committest
2004-01-31 10:16:52 -05:00
Quincey Koziol
4da7b1ee9b [svn-r8009] Purpose:
Bug fix

Description:
    Add special-case handling to floating-point conversion tests to avoid
problems with denormalized values on Cray T3E & T90 platforms.  (Still not
working on Cray SV1, but at least it's closer).

Solution:
    Detect denormalized values and don't try to operate on them on the Crays.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Cray T3E (hubble.cray.com)
    Cray T90 (gypsy.cray.com)
2003-12-31 15:36:37 -05:00
Quincey Koziol
8f62cb43da [svn-r7967] Purpose:
Code cleanup for VS.NET

Description:
    Clean up several issues that VS.NET was having problems with.

Platforms tested:
    Eyeballed against Kent's bug reports.
2003-12-17 11:39:17 -05:00
Quincey Koziol
0e70c2c983 [svn-r7892] Purpose:
Code cleanup

Description:
    Clean up a compiler warning

Platforms tested:
    Titan (user02)
    Too minor to require h5committest
2003-11-26 12:05:11 -05:00
Quincey Koziol
3088616179 [svn-r7882] Purpose:
Bug fix

Description:
    Handle denormalized floating-point values in a more general way that
uses a different 'epsilon' for determining if two values are "close enough"

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
    Pittsburgh Alpha Cluster (lemieux.psc.edu)
2003-11-25 14:26:01 -05:00
Quincey Koziol
378b5ad0f1 [svn-r7879] Purpose:
Bug fix

Description:
    C++ compiler was choking on passing a (hsize_t *) to a function which wants
a (uint8_t *).

Solution:
    Cast the (hsize_t *) to a (uint8_t *)... :-)

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Configuration untested by h5committest
2003-11-25 13:11:27 -05:00
Quincey Koziol
6d8dd9c504 [svn-r7875] Purpose:
Omnibus floating-point bug fix changes

Description:
    There are a number of problems in the floating-point conversion code that
were exposed by Ray's recent int<->float checkin:
    - The 'my_isnan' code in test/dtypes.c was broken and would always return
        true.  The meant that the actual values in the float<->float conversion
        tests were _never_ checked, hiding the other bugs included in this
        checkin.
    - A recent change I made to the type conversion code used "FLT_MIN" instead
        of "-FLT_MAX" for the most negative 'float' value for the double->float
        conversion, which meant that any the negative number that was converted
        from a double to a float would have been mapped to zero, essentially.
    - A change that Robb appeared to have made ~2.5 years ago to the "generic"
        float->float conversion routine appears to be incorrect and I've backed
        it out.
    - Floating-point conversions on SGI's which converted denormalized values
        would be mapped to zero instead of being propertly preserved in the new
        type.  This was addressed by an SGI-specific system call to prevent the
        behavior.

Solution:
    Described above, generally.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest

Misc. update:
    release_docs/RELEASE update forthcoming...
2003-11-24 11:47:18 -05:00
Raymond Lu
54540e224d [svn-r7869] *** empty log message *** 2003-11-21 12:07:44 -05:00
Raymond Lu
7e79a8d71e [svn-r7507] *** empty log message *** 2003-09-24 14:26:50 -05:00
Quincey Koziol
965a4cd7c9 [svn-r7468] Purpose:
Code cleanup, etc.

Description:
    Generalize Ray's datatype fixes to handle packing compound datatypes which
are the base type of an array or variable-length type, etc.

    Also track "packedness" of a compound datatype from it's creation, instead
of only setting the 'packed' flag after the datatype was explicitly packed.

    Updated docs to reflect that a compound datatype is allowed to grow (but
not shrink).

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-09-11 23:35:48 -05:00
Raymond Lu
36230c93ba [svn-r7462] *** empty log message *** 2003-09-10 17:59:17 -05:00
Quincey Koziol
f92d7f73df [svn-r7434] Purpose:
Bug Fix and code cleanup

Description:
    Correct error in H5T_detect_class that was causing nested compound datatypes
with to not detect the datatype class of fields correctly, which caused errors
with fill-values, variable-length datatypes and chunks later on.

    Return the rank of the array datatype from H5Tget_array_dims(), like
H5Sget_dims().

    Lots of cleanups to datatype code, to make the handling of arrays, compound
types, variable-length strings and sequences and enumerated types more
consistent and robust.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-08-30 20:48:01 -05:00
Raymond Lu
67449f5c65 [svn-r7021] Purpose: bug fix
Description: H5Tget_native_type fails for multiple kinds of datatype on Cray; it fails
             fix-length string type, too.


Platforms tested: Cray, h5committest
2003-06-10 16:04:58 -05:00
Quincey Koziol
263ff3e4fd [svn-r6940] Purpose:
Code cleanup

Description:
    Call srand(time(NULL)) before performing tests, to better randomize numbers
chosen for testing.

Platforms tested:
    h5committestted (although Fortran tests failed for some reason)
2003-05-31 11:19:28 -05:00
Bill Wendling
44022e598c [svn-r6538] Purpose:
Update

Description:
    Updated the Copyright statement

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

Misc. update:
2003-03-31 12:59:04 -05:00