Commit Graph

590 Commits

Author SHA1 Message Date
Quincey Koziol
6ecbcc1717 [svn-r4676] Purpose:
Backward Compatibility Fix
Description:
    One of H5P[gs]et_buffer's parameters changed between v1.4 and the
    development branch.
Solution:
    Added v1.4 compat stuff around H5P[gs]et_buffer implementation and testing
    to allow v1.4.x users to continue to use their source code without
    modification.

    These changes are for everything except the FORTRAN wrappers - I spoke with
    Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-12-05 15:26:39 -05:00
Quincey Koziol
d456c2bb82 [svn-r4643] Purpose:
Code cleanup
Description:
    Windows is generating hundreds of warnings from some of the practices in
    the library.  Mostly, they are because size_t is 32-bit and hsize_t is
    64-bit on Windows and we were carelessly casting the larger values down to
    the smaller ones without checking for overflow.

    Also, some other small code cleanups,etc.

Solution:
    Re-worked some algorithms to eliminate the casts and also added more
    overflow checking for assignments and function parameters which needed
    casts.

    Kent did most of the work, I just went over his changes and fit them into
    the the library code a bit better.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-27 11:29:13 -05:00
MuQun Yang
debeaf6e64 [svn-r4612]
Purpose:
     A new feature
Description:
    While testing h4toh5 utility with real NASA files, we find an example that the data array(one SDS) is so big that it exceeds the physical memory of some machine(>128 MB) and the conversion failed. Before the smart hyperslab operation is out, I am dividing the whole SDS into smaller hyperslabs with each hyperslab propotational to the original SDS array dimensions. For example, a three dimension array with 1000*1000*1000 elements, I can divide them into eight 500*500*500 pieces. I can read and write each piece and remember their starting and ending points. In this way, the memory allocation failure can be avoided; however, it may not be the efficient way.

    I've tested this feature using SDS without chunking. It works fine. However, when testing SDS with chunking, it is extremely slow. This happens to be a bug in HDF5 library now. Quincey may fix this later and give me a more efficient way to handle the problem. Currently all my testing files are with UNLIMITED dimensions, so in HDF5 the chunking feature will be required.

    SO by default, this feature will not be turned on.

Solution:

   see the above
Platforms tested:
    linux 2.2.18
2001-11-19 16:29:26 -05:00
Quincey Koziol
965e3bc3e2 [svn-r4591] Purpose:
Code cleanup
Description:
    Fix a bunch of warnings
Platforms tested:
    Linux 2.2 (eirene)
2001-11-03 22:23:30 -05:00
Raymond Lu
e3a137f39e [svn-r4517]
Purpose:
    Changed to the new generic property list for dataset creation property
    list.
Platforms tested:
    Arabica, modi4 and Hawkwind
2001-10-03 12:57:56 -05:00
Quincey Koziol
7a96b1a0d2 [svn-r4482] Purpose:
Kludge
Description:
    Since we're only about halfway through converting the internal use of
    property lists from the "old way" to the generic property lists, we turned
    off snapshots to avoid exposing lots of API changes to users, until the
    APIs settled down.

    Getting the snapshots rolling again seems to have become a priority, so
    some changes are going to have to be made now that were going to be
    postponed until we were completely finished with the conversion.  This
    requires that the old API functions be able to deal with both the old
    and new property lists smoothly.

Solution:
    Kludge together the property list code so that they can transparently handle
    dealing with both the old and new property lists

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-26 15:29:35 -05:00
Quincey Koziol
ed663577a5 [svn-r4473] Purpose:
Code cleanup for better compatibility with C++ compilers
Description:
    C++ compilers are choking on our C code, for various reasons:
        we used our UNUSED macro incorrectly when referring to pointer types
        we used various C++ keywords as variables, etc.
        we incremented enum's with the ++ operator.
Solution:
    Changed variables, etc.to avoid C++ keywords (new, class, typename, typeid,
        template)

    Fixed usage of UNUSED macro from this:
        char UNUSED *c
    to this:
        char * UNUSED c

    Switched the enums from x++ to x=x+1
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-25 12:46:32 -05:00
Bill Wendling
be9c42c7b1 [svn-r4456]
Purpose:
    Bug Fix
Description:
    Some so-called "operating systems" (*cough*Windows*cough*) can't
    handle large string sizes.
Solution:
    Replace the Usage string with individual strings which all call
    fprintf() themselves.
Platforms tested:
    Linux
2001-09-18 11:58:27 -05:00
Bill Wendling
d10d58c0c3 [svn-r4455]
Purpose:
    Warning Removal
Description:
    Remove some spurious warnings from the compilation.
Platforms tested:
    Linux
2001-09-18 11:57:16 -05:00
Bill Wendling
8b0a3c5c1f [svn-r4402]
Purpose:
    Bug Fix
Description:
    Object IDs command-line options weren't being picked up.
Solution:
    The wrong flag was being checked for. Changed the flag from "v" to
    "i", which is what the documentation says.
Platforms tested:
    Linux
2001-08-21 14:37:23 -05:00
MuQun Yang
04ca207930 [svn-r4376]
Purpose:
    add another raster image 24-bit test files
Description:
Solution:
Platforms tested:
     sol 2.7 and RedHat Zoot 6.2
2001-08-17 15:42:45 -05:00
MuQun Yang
46a0981644 [svn-r4375]
Purpose:
    update the expected HDF5 files to follow the interlace mode convention
    in HDF5 image spec.
Description:
Solution:
Platforms tested:
2001-08-17 15:40:29 -05:00
MuQun Yang
1c9a8c7c37 [svn-r4374]
Purpose:
      add another test file
Description:
Solution:
Platforms tested:
    eirene, arabica

    [machines you have tested the changed version.  This is absolute
    important.  Test it out on at least two or three different platforms
    such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
    64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
2001-08-17 15:39:32 -05:00
MuQun Yang
631c032150 [svn-r4373]
Purpose:
   Add another test file
Description:
Solution:
Platforms tested:
    eirene, arabica
    [machines you have tested the changed version.  This is absolute
    important.  Test it out on at least two or three different platforms
    such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
    64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
2001-08-17 15:38:20 -05:00
MuQun Yang
54066b8652 [svn-r4372]
Purpose:
    add another test case.
Description:
Solution:
2001-08-17 15:37:17 -05:00
MuQun Yang
22bc8c18e1 [svn-r4371]
Purpose:
    a bug fix
Description:
    change PIXEL_INTERLACE to INTERLACE_PIXEL and other interlace mode description
     to fit for the image specification.
Solution:
Platforms tested:
   eirene, sol2.7
2001-08-17 15:36:25 -05:00
MuQun Yang
365461a772 [svn-r4370]
Purpose:
    1. fix a bug
    2. turn off a feature
Description:
    1. change the output of GRgetiminfo from NULL to &interlace_mode.
    2. turn off the feature to change line-interleaved feature into
        pixel-interleaved feature since inconsistent behaviour is found
        in GR interface.
Solution:
    see above
Platforms tested:
      eirene, arabica
2001-08-17 15:34:01 -05:00
MuQun Yang
6218bc7efa [svn-r4369]
Purpose:
     add a real raster-24 bit testing for interlace mode.
Description:
     1. GR interfaces will never create an HDF4 file with interlace mode other than
     pixel interleaved. DF24 interfaces can create HDF4 file with different interleaved.
     There are inconsistent behaviors between GRreqimageil and GRreadimage, data read into     the memory will not behave properly if a new interlace mode is asked.
     2. Currently HDF5 image spec. supports pixel interleaved and plane interleaved.
      We make a real image file to test whether the converter is doing the right thing.
Solution:
     We use DF24 bit APIs to generate a real image file that can be tested by H5view.
Platforms tested:
     linux and sol2.7
2001-08-17 15:29:07 -05:00
Quincey Koziol
e87fc517b8 [svn-r4355] Purpose:
Code cleanup (sorta)

Description:
    When the first versions of the HDF5 library were designed, I remembered
    vividly the difficulties of porting code from a 32-bit platform to a 16-bit
    platform and asked that people use intn & uintn instead of int & unsigned
    int, respectively.  However, in hindsight, this was overkill and
    unnecessary since we weren't going to be porting the HDF5 library to
    16-bit architectures.

    Currently, the extra uintn & intn typedefs are causing problems for users
    who'd like to include both the HDF5 and HDF4 header files in one source
    module (like Kent's h4toh5 library).

Solution:
    Changed the uintn & intn's to unsigned and int's respectively.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-14 17:09:56 -05:00
Albert Cheng
c47f724187 [svn-r4345] Purpose:
Improvement
Description:
    The stdout and stderr were both redirected to an output file. This
    works fine in tradition sequential Unix machines.  But in some
    parallel systems (like mpi-jobs in IBM SP), the stderr is merged
    with stdout alright but not in the exact order as expected.  This
    is not deterministic in parallel jobs.  So, the test output are
    all there but the ordering maynot be as expected.
Solution:
    Redirect stderr to separated file and append it to the stdout
    file after test-command is executed.  Then compare it with
    the expected output.  This eliminate the assumption that
    stdout and stderr must merged in "chronical orders".

    The .ddl file are updated by moving all stderr text to the end of the
    file.
Platforms tested:
    eirene.
2001-08-14 12:28:14 -05:00
Albert Cheng
bb1c2afd58 [svn-r4342] Purpose:
Improvement
Description:
    The stdout and stderr were both redirected to an output file. This
    works fine in tradition sequential Unix machines.  But in some
    parallel systems (like mpi-jobs in IBM SP), the stderr is merged
    with stdout alright but not in the exact order as expected.  This
    is not deterministic in parallel jobs.  So, the test output are
    all there but the ordering maynot be as expected.
Solution:
    Redirect stderr to separated file and append it to the stdout
    file after test-command is executed.  Then compare it with
    the expected output.  This eliminate the assumption that
    stdout and stderr must merged in "chronical orders".
Platforms tested:
    tested in v1.4.  Folded it into v1.5.
2001-08-14 11:35:43 -05:00
MuQun Yang
018a8be116 [svn-r4338]
Purpose:
   check-in the second time to update the handling of data transfer in h4toh5.
    This will make up for the cvs conflict checking a couple hours ago.
Description:
Solution:
Platforms tested:
    eirene
2001-08-13 15:56:33 -05:00
MuQun Yang
156200d908 [svn-r4334]
Purpose:
    1) fix the implementation of image according to image specfication
    2) fix two bugs of SDS implemention. the first one is
        to handle the unlimited SDS with the first dimensional size set to 0.
        the second one is to change the way how HDF5 dataset is written.
Description:
    1) mapping 24-bit image to 3D arrays instead of 2D compound datatype.
    2) previously forgot considering unlimited SDS with the size set to 0.
    3) H5P_set_buffer seems not working well for a extremely small size.
Solution:
    1) see above.
    2) add a special case to deal with this.
    3) don't use H5Pset_buffer.
Platforms tested:
     RedHat Zoot 6.2
2001-08-13 14:07:54 -05:00
MuQun Yang
9767e654cf [svn-r4333]
Purpose:
    change image test files to fulfill HDF5 image specification.
Description:
Solution:
Platforms tested:
    eirene
2001-08-13 13:54:10 -05:00
Quincey Koziol
80c02cc6f1 [svn-r4327] Purpose:
More code cleanups
Description:
    Wrap up the code cleanups for changing the dataset transfer property lists
    over to using the generic property list code.
Platforms tested:
    IRIX64 6.5 (modi4)
2001-08-10 21:47:13 -05:00
Quincey Koziol
d24ae52673 [svn-r4326] Purpose:
Code cleanups, mostly..
Description:
    Work on pacifying the SGI compiler to get the generic properties working
    correctly with --enable-parallel and --enable-fortran.  It's not quite
    fixed yet, but I need to head home and these patches help... :-/
Platforms tested:
    IRIX64 6.5 (modi4)
2001-08-10 17:30:01 -05:00
Bill Wendling
48842d60fa [svn-r4325]
Purpose:
    New Feature
Description:
    Adding the h5cc script thingy.
Platforms tested:
    Linux
2001-08-10 16:34:40 -05:00
Quincey Koziol
95862451f7 [svn-r4324] Purpose:
New Features!
Description:
    Start migrating the internal use of property lists in the library from the
    older implementation to the new generic property lists.

    Currently, only the dataset transfer property lists are migrated to the
    new architecture, all the rest of the property list types are still using
    the older architecture.

    Also, the backward compatibility features are not implemented yet, so
    applications which use dataset transfer properties may need to make the
    following changes:
        H5Pcreate(H5P_DATASET_XFER) -> H5Pcreate_list(H5P_DATASET_XFER_NEW)
            and
        H5Pclose(<a dataset transfer property list>) -> H5Pclose_list(id)

    This still may have some bugs in it, especially with Fortran, but I should
    be wrapping up those later today.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-10 15:47:05 -05:00
Bill Wendling
dcfa4009e4 [svn-r4315]
Purpose:
    Feature FIx
Description:
    Fixed description of the --filedriver flag.
Platforms tested:
    Linux
2001-08-06 12:54:42 -05:00
Quincey Koziol
41529d180e [svn-r4312] Purpose:
Feature shift
Description:
    Take out the v1.2.x compatibility stubs and put in the hooks for v1.4.x
    compatibility when needed.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-08-06 11:01:44 -05:00
Bill Wendling
b5d11111b0 [svn-r4292]
Purpose:
    Bug Fix
Description:
    The way we were generating Dependencies and .depend files was broken.
    If the $srcdir or other macros began with a ".", then it would match
    anything and cause problems since it would then overwrite the
    beginning of the header file's path.
Solution:
    Wrote a Perl script which can handle this type of weirdness better.
    It's only used when the environment is a GNU one with a GCC
    compiler...
Platforms tested:
    Linux
2001-08-01 16:00:25 -05:00
Bill Wendling
ff2e3ab9e9 [svn-r4284]
Purpose:
    Feature Change
Description:
    Changed the --family flag to --filedriver to make it clearer what's
    going on.
Platforms tested:
    Linux
2001-07-31 12:20:53 -05:00
Bill Wendling
88729d4c14 [svn-r4282]
Purpose:
    Bug Fix/Feature Add
Description:
    Added new flag ("-f" and "--family") to allow user to specify which
    file driver to use to open the file. If they don't specify anything,
    then it defaults to the old behaviour of trying each driver in turn
    until one actually opens the file.

    If the driver the user specified doesn't succeed in opening the
    file, then we do NOT try other file drivers.
Platforms tested:
    Linux
2001-07-30 16:55:46 -05:00
Bill Wendling
e685336ab1 [svn-r4254]
Purpose:
    Reformatting
Description:
    Reformatted the code so that it's much clearer and conforms to the
    HDF5 coding standards. Changed the function headers to use the ANSI
    style instead of the KnR style. Kept the use of typedef's such as
    "unsigned char" being "BYTE" and so on since of of this code is
    copied from some other place and that's the style they use...I didn't
    want to break things.
Platforms tested:
    It compiles fine on Linux, but there aren't any tests for this
    package, so...
2001-07-24 12:51:22 -05:00
Bill Wendling
75ee2e46aa [svn-r4245]
Purpose:
    Fixing a boo-boo
Description:
    There was a problem with the generated Dependencies file. It listed
    the H5pubconf.h header file as being in the $(top_srcdir) directory
    when it's in the $(top_builddir) directory.
Solution:
    Regenerated it.
Platforms tested:
    Linux
2001-07-20 12:32:44 -05:00
Bill Wendling
df7214c646 [svn-r4239]
Purpose:
    Updated
Description:
    Regerated the Dependencies file.
Solution:
    Ran "make Dependencies" on a GNU machine.
2001-07-19 13:04:20 -05:00
Bill Wendling
6f6e930f30 [svn-r4238]
Purpose:
    Update
Description:
    Updated the Dependencies file.
Solution:
    Reran "make Dependencies" in the tools/h4toh5 directory.
2001-07-19 12:53:30 -05:00
MuQun Yang
239ca247d8 [svn-r4185]
Purpose:
    a bug in the comment
Description:
    The structure of HDF4 file is not correct in the orginal comment
Solution:
     Correct the wrong comment and add more explanation
Platforms tested:
     eirene
2001-07-11 11:11:58 -05:00
Quincey Koziol
990fadfbe5 [svn-r4181] Purpose:
Bug Fix, Code Cleanup, Code Optimization, etc.
Description:
    Fold in the hyperslab speedups, clean up compile warnings and change a
    few things from using 'unsigned' or 'hsize_t' to use 'size_t' instead.
Platforms tested:
    FreeBSD 4.3 (hawkwind), Solaris 2.7 (arabica), Irix64 6.5 (modi4)
2001-07-10 16:19:18 -05:00
Quincey Koziol
0c1c23245d [svn-r4180] Purpose:
Documentation
Description:
    Accommodate v1.2.x behavior when --enable-hdf5v1_2 is enabled.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-07-10 15:18:52 -05:00
Elena Pourmal
a46f951ea0 [svn-r4171]
Purpose:
    Bug fix (by Bob McGrath)
Description:
    On Solaris platforms palette was not written to the HDF5 file
Solution:
    '\0' character was written outside the GroupName array. Apparently                                           on Solaris it destroyed the condition value that determined if the palette                                   should be written to the file.
Platforms tested:
    Not tested yet.
2001-07-10 13:05:11 -05:00
Bill Wendling
21000f0c09 [svn-r4150]
Purpose:
    Checking in BOb's Changes
Description:
    Just checking in Bob McGrath's changes to the h5dumper's XML code.
2001-07-09 01:40:08 -05:00
Elena Pourmal
d9d71b06e4 [svn-r4107]
Purpose:
    Bug fix
Description:
    One of the function calls (H5Sget_simple_extent_dims) used parameter with
    the wrong type. That caused compilation errors on T3E.
Solution:
    Used NULL since that argument is optional and was never used.
Platforms tested:
    T3E(mcurie) and IRIX64 (modi4)
2001-07-04 12:32:48 -05:00
Pedro Vicente Nunes
098ed81ec8 [svn-r4083]
code warrior support
and some clean up
the macros file_seek and file_offset_t that were repeated over sevral files were put only in
H5private.h
H5private .h was updated for win32


vthe
Description:
Solution:
Platforms tested:
2001-06-29 10:27:15 -05:00
Quincey Koziol
d41b9fffdf [svn-r4012] Purpose:
Clean up compiler warnings.
Description:
    Just code neatening mostly, some casts, etc.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-18 15:22:10 -05:00
MuQun Yang
dbdeacb7ad [svn-r3989]
Purpose:
    New features for adding attribute options and modifying testing files
Description:
Solution:
Platforms tested:
     eirene,arabica
2001-06-11 16:21:59 -05:00
MuQun Yang
1a5197918c [svn-r3988]
Purpose:
    new features
Description:
    1. add an option to convert HDF4 file without HDF4 specified attributes such as
	HDF4_OBJECT_TYPE, HDF4_REF_NUM etc.
        it can be done by inputting "h4toh5 -na input.hdf"
        The default converter will still keep HDF4 specfied attributes.
    2. Add compression features (gzip) for image too. Now the compressed HDF4 image
       can be supported by using HDF5 gzip. Not sure whether tools can read it. Need to be       tested.
    3. Change SPACEPAD to NULLTERM for HDF4 dimensional name list. We can use variable length HDF5 string to represent these names, however currently H5dump and H5view cannot support variable length HDF5 string. converter will wait for other tools' update.

Solution:
Platforms tested:
     eirene(Red Hat 6.2) and arabica(solaris 2.7)
2001-06-11 16:20:10 -05:00
MuQun Yang
1b484c377c [svn-r3987]
Purpose:
   update h4toh5 converter utility test files
Description:
    better output of HDF4 dimensional name list
Solution:
Platforms tested:
    eirene,arabica
2001-06-11 16:03:13 -05:00
MuQun Yang
01398cee71 [svn-r3986]
Purpose:
    update h4toh5 testing files
Description:
    Now we are using fixed size for HDF5 dimensional name list and h5dump
    output is appended with 000/000/.......................
    It looks ugly and annoying.
Solution:
     Use NULLTERM for SDS dimensional list names
Platforms tested:
     RedHat 6.2(eirene) and solaris 2.7(arabica)
2001-06-11 16:00:58 -05:00
Quincey Koziol
21906d0b7c [svn-r3985] Purpose:
Code cleanups
Description:
    Fixed a small number of compiler warnings.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-11 14:54:19 -05:00