36 Commits

Author SHA1 Message Date
Allen Byrne
5d69e87ff0 [svn-r16489] Fixed bug #1459 by eliminating the macro long_long and replacing all instances with long long.
Tested:
   h5comittest
   fedora 10 x64
   Vista 32, VS2005, IVF101
   XP32, Cygwin
2009-02-18 15:02:05 -05:00
Quincey Koziol
bdd7d59902 [svn-r15628] Description:
Remove trailing whitespace from C/C++ source files, with the following
script:

    foreach f (*.[ch] *.cpp)
        sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
    end

Tested on:
    Mac OS X/32 10.5.5 (amazon)
    No need for h5committest, just whitespace changes...
2008-09-16 10:52:51 -05:00
Quincey Koziol
c465e18a68 [svn-r15609] Description:
Omnibus compiler warning cleanup & some reformatting also.

Tested on:
    Mac OS X/32 10.5.4 (amazon)
    Too minor to require h5committest
2008-09-10 14:10:41 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
Tested platform:
Kagiso only since it is only a comment block change.  If it works in one
machine, it should work in all, I hope.  Still need to check the parallel
build on copper.
2007-02-07 09:56:24 -05:00
Leon Arber
77763447fd [svn-r12879] Purpose: Bug fix
Description: Fix a few memory-related bugs in the data transform code.

Tested:
    kagiso (for real this time) w/ valgrind 3.2.1
2006-11-07 20:52:54 -05:00
Quincey Koziol
e40557304f [svn-r12803] Description:
Finish new version of the I/O pipeline message, which is much smaller than
the previous version.  This version is used with the "use the latest version
of the format" flag.

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

    Also, lots of compiler & formatting cleanups.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-23 15:40:14 -05:00
Albert Cheng
fc0acb35f5 [svn-r11515] Purpose:
Fixed copyright notice.

Description:
A line is missing in the copyright notice. Fixed.

Platforms tested:
No test since it is only a fix in a comment block.
2005-10-10 09:00:11 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
Code cleanup

Description:
    Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.

Solution:
    Ran this script in each directory:

foreach f (*.[ch] *.cpp)
    sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
Quincey Koziol
34bd25f361 [svn-r11144] Purpose:
New port

Description:
    Elena asked me to check in her NEC SX-6 work, so here it is! :-)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    NEC SX-6 (by Elena)
2005-07-22 20:55:12 -05:00
Quincey Koziol
55f8e19fc7 [svn-r10699] Purpose:
Code cleanup

Description:
    Switch name & logic from H5_LLONG_TO_FP_CAST_BROKEN to
H5_LLONG_TO_FP_CAST_WORKS, to better match the rest of the library.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-04-29 15:31:29 -05:00
MuQun Yang
e5b61f99ab [svn-r10690] Purpose:
Bug fix

Description:
On visual studio 6.0, conversion from unsigned long long to double is not supported.
Even during compilation stage, it will fail.


Solution:
Albert changed the way the macro is handled so that for windowx MSVS 6.0,
the code that has conversion from unsigned long long to double will not compile.

Platforms tested:
windows, linux

Misc. update:
2005-04-28 16:23:48 -05:00
Leon Arber
1208855335 [svn-r10660] Purpose:
bug fix (sorta)

Description:
Rename H5_LLONG_TO_FP_CAST_WORKS to H5_LLONG_TO_FP_CAST_BROKEN

Solution:
Since a test for  H5_LLONG_TO_FP_CAST_WORKS is not present in the configure script,
the dtransform test would assume that this cast doesn't work and skip the test.  Change the variable around
so that, by default, it is assumed a long long to double cast does work.

Platforms tested:
minor change: copper, sol

Misc. update:
2005-04-25 14:33:44 -05:00
Leon Arber
0ae785b76b [svn-r10658] Purpose:
Bug fix

Description:
The intel compiler on windows doesn't support long long to double conversion.

Solution:
Added a flag  H5_LLONG_TO_FP_CAST_WORKS.  When it is not defined, the data transform will issue
an error when someone tries to perform a transform from long long to double and the long long to double
dtransform test will be skipped.

Platforms tested:
heping, sol, copper

Misc. update:
2005-04-25 14:14:01 -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
Elena Pourmal
c1df1b3ea4 [svn-r9857] Purpose: Maintenance
Description: Removed PABLO from the source

Solution:

Platforms tested: arabica with 64-bit, copper with parallel,
                  heping with GNU C and C++ and PGI fortran (but
                  I disabled hl, there is some weird problem only
                  on heping: F9XMODFLAG is not
                  propagated to the Makefile files

Misc. update:
2005-01-21 20:16:57 -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
Leon Arber
5d7425c686 [svn-r9524] Purpose:
Bug Fix

Description:
Fixed off by one error in H5Pget_data_transform

Solution:
H5Pget_data_transform, when queried for the size of the property, should
return strlen() + 1 so that the user can allocate memory for the terminating
\0 in the string.

Also fixed a typo in a comment in H5Ztrans.c

Platforms tested:
eirene, too minor to require further testing.

Misc. update:
2004-11-11 21:40:14 -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
74d574632f [svn-r9461] Purpose:
Changed functionality of H5Pget_data_transform

Description:
H5Pget_data_transform no longer allocates memory for the transform string...it
is the user's responsbility to do so.

Solution:
Made H5Pget_data_transform be more in line with other functions that do
similiar things:

User now has to allocate memory for the string themselves and specify how much
of the string should be copied into the buffer.  There is also support for
querying the length of the transform string.

Platforms tested:
sol + eirene + copper

Misc. update:
2004-10-26 15:45:52 -05:00
HDF Admin
b232f57b9b [svn-r9457] Purpose:
Bug fix.

Description:
The previous H5_ULLONG_TO_FP_CAST_WORKS fix does not quite work
since the problem was an error during compiling while the fix
was trying to check for the error condition during runtime.
The MS-Compiler still complains about not supporting ULLONG
to Float.

Solution:
A temperary patch is to have two #define of H5Z_XFORM_TYPE_OP
according to if H5_ULLONG_TO_FP_CAST_WORKS is defined.  This
works but a better solution is needed.

Platforms tested:
Windows (by Kent) and heping (Linux by me).
2004-10-25 18:01:30 -05:00
Leon Arber
5ec05c10e8 [svn-r9441] Purpose:
Code refactor
Changed functionality of H5Pget_data_transform

Description:
Rewrote much of H5Ztrans.c to use macros, which cut down on the amount of code
significantly.

H5Pget_data_transform now allocates memory for the data transform string,
copies the string into this memory, and
returns this pointer to the user, instead of returning a pointer to the
internal transform string stored by hdf.  It is the user's responsibility to free
this memory when they are done with it.

Platforms tested:
sol + eirene + copper

Misc. update:
2004-10-20 16:08:35 -05:00
Leon Arber
b6c9d2afa7 [svn-r9440] Purpose:
Bug fix

Description:
Fix typo in #ifdef for unsigned long long to double conversion.
Changed WIN32 check to H5_ULLONG_TO_FP_CAST_WORKS
This check-in (and the one before it) also includes a large code-refactoring
that is still in progress.

Solution:
the ifdef for the plus case was checking unsigned long instead of unsigned
long long.  Moved the check to the right location.

Platforms tested:
sol+eirene

Misc. update:
2004-10-19 19:21:52 -05:00
Leon Arber
24cb7fe160 [svn-r9430] Purpose:
Bug fix.

Description:
The windows compiler apparently cannot convert from unsigned long long to
double.  This conversion is necessary for the data transform to work properly
in some cases.

Solution:
Added #ifdef to check for windows and issue error when user attempts to do a
data transform on a long long type.

Platforms tested:
sol + eirene
2004-10-18 17:46:04 -05:00
Leon Arber
f86b69ffb3 [svn-r9422] Purpose:
Description:
Code optimization and refactoring.
Added support for llong, ullong, and ldouble

Solution:
Significantly cut down on the amount of code required to do the transform,
while making the operations more efficient.

Platforms tested:
sol + eirene
2004-10-14 14:55:29 -05:00
Leon Arber
aa67cc1c25 [svn-r9368] Purpose:
Rewrote H5Z_xform_eval_full such that it no longer "returns an aggregate"

Added support for CHAR, LONG, ULONG, DOUBLE, SHORT, USHORT, UCHAR, SCHAR, and
UINT to the data transform.  Support for LLONG and ULLONG to be added shortly.

Description:

Data transforms can now operate on arrays with the native types listed above.

Platforms tested:
sol + eirene

Misc. update:
2004-10-05 17:43:14 -05:00
Leon Arber
41440bc2dc [svn-r9314] Purpose:
Bug fix

Description:
Fix for small memory leak that occurs when destroying the data transform
property.  Forgot to free the array of pointers to the temorary data.

Solution:
Freed memory.

Platforms tested:
sol + eirene

Misc. update:
2004-09-23 10:43:54 -05:00
Albert Cheng
9d9621ef0c [svn-r9297] Purpose:
Bug fix.

Description:
Code would attempt to Calloc with zero count when a simple expression
that has no x term.  That resulted in NULL for some platform (like AIX).
That appeared as a failure treated as out of space.

Solution:
Checked if count is larger than 0 before making the calloc request.

Platforms tested:
Tested in copper (pp) where the failure appeared.  Also in eirene
as double check.  No h5committest as the change is trivial.
2004-09-21 20:18:47 -05:00
Leon Arber
0df4bee931 [svn-r9267] Purpose:
Added H5Pget_data_transform
Added support for polynomial data transforms

Description:
There is now support for polynomial data transforms (ie, (2+x)*(x-5)) instead
of just linear ones.

Note that, in order to compute a polynomial transform, one temporary copy of
the original data must be stored for each occurence of "x" in the transform
expression.  This can result in very high memory usage for expressions of high
order.

Platforms tested:
sol + eirene

Misc. update:
2004-09-16 13:11:31 -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
7c3df64cc4 [svn-r8731] Purpose:
Code cleanup & minor optimization

Description:
    Re-work the way interface initialization routines are specified in the
library to avoid the overhead of checking for them in routines where there is
no interface initialization routine.  This cleans up warnings with gcc 3.4,
reduces the library binary size a bit (about 2-3%) and should speedup the
library's execution slightly.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/gcc34
    h5committest
2004-06-23 10:36:35 -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
Leon Arber
6c01245357 [svn-r8489] Purpose:
Bug fix.

Description:
Fixed token_type enum struct in H5Ztrans.c to compile under windows.

Solution:
Prefixed all values in the struct with H5Z_XFORM_ to prevent name collisions
with pre-defined values.

Platforms tested:
h5committest'ed, but on arabica + no sol.
2004-05-07 12:17:50 -05:00
Leon Arber
1867c05efb [svn-r8488] Purpose:
Bug fix.

Description:
Fixed handling of trivial data transform expressions (like 5/3 + 3) and some
data coversion fixes.  Also added more tests to dtransform.c

Solution:
Added some more checks in the H5Z_xform_reduce_tree function to see if perhaps
the transform expression is complicated and is a non-trivial reduction.
Added tests for data conversion to dtransform as well as tests for a trivial
data transform expression.

Platforms tested:
h5committest'ed, except used arabica instead of sol and didn't do on copper
b/c no logon there. Problem noted with mtime test...doesn't appear to be
related to anything having to do with data transforms.
2004-05-06 17:44:38 -05:00
Quincey Koziol
4996258268 [svn-r8483] Purpose:
Bug fix

Description:
    Fix problems compiling with g++.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/CC=g++
2004-05-05 15:25:26 -05:00
Quincey Koziol
7f99a80b0a [svn-r8482] Purpose:
Code cleanup

Description:
    Refactored data transform code to reduce amount of symbols in the global
scope and also cleaned up & simplified the code a bit.

Platforms tested:
    h5committest (minus copper, plus serial modi4)
    FreeBSD 4.9 (sleipnir) w & w/o parallel
2004-05-05 14:29:09 -05:00
Albert Cheng
0c6229a68d [svn-r8479] Purpose:
New Feature

Description:
Add the data transform function, H5Pset_transform().

Platforms tested:
"h5committested".
Copper was down.  Ran parallel tests in sol instead.

Misc. update:
2004-05-03 18:34:42 -05:00