Compare commits

...

687 Commits

Author SHA1 Message Date
Albert Cheng
872cad3825 [svn-r4989] Updated for new parallel platforms supported. 2002-02-18 16:29:16 -05:00
MuQun Yang
77ee65addb [svn-r4988]
Purpose:
    update h5toh4 test batch file
Description:
   change HDF4 version from 41r4 to 41r5.
Solution:
Platforms tested:
windows 2000
2002-02-18 14:19:37 -05:00
Binh-Minh Ribler
c74897a1b3 [svn-r4986]
Purpose:
    Updating install file
Description:
    Added minor additional information and improved some wordings
    for clarity.
2002-02-18 14:10:47 -05:00
Elena Pourmal
12bb7a7946 [svn-r4985]
Purpose:
    Maintenance
Description:
    Added year 2002.
2002-02-18 13:25:17 -05:00
MuQun Yang
a97da34432 [svn-r4984]
Purpose:
    update windows information
Description:
Solution:
Platforms tested:
2002-02-18 13:03:41 -05:00
Quincey Koziol
c9eb1a976f [svn-r4983] Purpose:
Update Solaris 2.8 info
2002-02-18 11:08:26 -05:00
Albert Cheng
d87f3103d0 [svn-r4982] Updated information for AIX (LLNL SP) 2002-02-18 11:02:45 -05:00
Albert Cheng
3c0f3ca969 [svn-r4981] Purpose:
Bug fix
Description:
    The -lnoop library was specified in $LDFLAS when it should have
    been in $LIBS.  In the past, human just put it in the back and
    repeated it enough times in the link statement till it worked.
    The tool h5cc exposed this error since the $LDFLAGS is put in
    front of all libraries, including libhdf5.a.  That won't work.
Solution:
    Moved the specification of -lnoop to $LIBS.
Platforms tested:
    Tflops
2002-02-18 10:46:00 -05:00
Albert Cheng
30b5ed6221 [svn-r4974] Description:
Users were alarmed by the OFFSET overflow and GB file size tests.
    Those tests only checks the limits of the MPI implementation, not
    really as an error.
Solution:
    Changed the VRFY macro to indicate it is an "ERROR".
    Modified the INFO macro to print messages as "REMARK (not an error)"
    so that users would not be alarmed.

    Added an explanation string in the GB file size write/read.
Platforms tested:
    eirene and modi4 (parallel)
2002-02-15 09:44:32 -05:00
Albert Cheng
f493fe904a [svn-r4973] Description:
Cleaned out lots of warnings.
Platforms tested:
    modi4 and eirene (parallel)
2002-02-15 01:52:37 -05:00
Albert Cheng
3a4d13162b [svn-r4971] Purpose:
updated the Dependencies files.
Platforms tested:
    modi4 which uses them
2002-02-14 23:12:49 -05:00
Albert Cheng
0ad388f1e7 [svn-r4970] Removed a known problem that is no more. 2002-02-14 14:13:00 -05:00
Quincey Koziol
8cf6378820 [svn-r4967] Purpose:
Bug fix
Description:
    Fix prototype inconsisteny.
2002-02-14 13:39:55 -05:00
Albert Cheng
15c8e8a443 [svn-r4966] Description:
updated the Dependencies files via "gmake depend".
    Some how this must be done with --srcdir configure option.  That is odd.
Platforms tested:
    visual inspected "cvs diff" output.
2002-02-14 11:54:01 -05:00
Quincey Koziol
e825e9b9da [svn-r4963] Purpose:
Document incorrect fill-value read from chunked dataset bug fix.
2002-02-14 10:33:26 -05:00
Quincey Koziol
2b3923c2ab [svn-r4962] Purpose:
New regression test added
Description:
    If a non-zero fill-value is used for a chunked dataset, any non-existent
    chunked read with an "all" selection (or a contiguous hyperslab selection)
    will return zero for those instead of the user's fill-value.
Solution:
    Fixed I/O code to pass down fill-value to "optimized" I/O routines, so it
    will be available to fill the user's buffer with.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-02-14 10:31:23 -05:00
Quincey Koziol
b63cdf8c0c [svn-r4961] Purpose:
Bug Fix
Description:
    If a non-zero fill-value is used for a chunked dataset, any non-existent
    chunked read with an "all" selection (or a contiguous hyperslab selection)
    will return zero for those instead of the user's fill-value.
Solution:
    Fixed I/O code to pass down fill-value to "optimized" I/O routines, so it
    will be available to fill the user's buffer with.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-02-14 10:30:09 -05:00
Elena Pourmal
3cc307e7a5 [svn-r4960]
Purpose:
    Maintenance
Description:
    Cray system and compilers info changed between pre3 and final release.
Solution:
    Updated SV1 and T3E systme and compilers info.
2002-02-14 09:02:52 -05:00
Albert Cheng
89b94e22ef [svn-r4959] Purpose:
Change default actions.
Description:
    Change the default maximum number of processes (-P) to use all processes
    instead of just 1 (old default).  Someone most likely wants to test
    the I/O performance with all processes involved.
    Also starts performance measurement with maximum number of processes
    and decrement it with each loop.  If the performance measurement
    needs to restart, it can run with fewer processes if those loops
    have completed.
Platforms tested:
    modi4 and eirene.
2002-02-14 01:24:28 -05:00
Albert Cheng
f92ae6e713 [svn-r4958] Description:
Remove perf and mpi-perf from the parallel test targets since their
    functions are replaced by pio_perf.
Platforms tested:
    modi4 and eirene, both parallel modes.
2002-02-14 00:55:03 -05:00
Bill Wendling
c883c0e6bb [svn-r4957]
Purpose:
    Bug Fix
Description:
    We were saying that we had compatibility with V1.4 when we really
    meant 1.2.
Solution:
    Changed to 1.2.
2002-02-13 17:26:43 -05:00
Bill Wendling
aa0cd10cf2 [svn-r4955]
Purpose:
    Bug Fix
Description:
    On some systems, doing the shell command:

        if test -z $DEBUG_PKG; then

    doesn't work if $DEBUG_PKG is null..
Solution:
    Changed to "if test "X$DEBUG_PKG" = "X"; then" which will do the same
    thing but without the error...
Platforms tested:
    Linux
2002-02-13 15:49:32 -05:00
MuQun Yang
950e108653 [svn-r4954]
Purpose:
   Update HDF4 library path for h4toh5 and h5toh4 tools.
Description:
   HDF4 library path is not set correctly, make a easy solution for users
   Who are not familiar with windows. Use standard path C:\HDF41r5\ for those users. Previously HDF4 library is in C:\HDF41r4. Update the version.
Solution:

Platforms tested:
   windows 2000
2002-02-13 15:21:31 -05:00
Bill Wendling
f857c08b9f [svn-r4952]
Purpose:
    Bug Fix
Description:
    When printing out the summary information after the configuration,
    the Compilation Mode and Debugging information would be incorrect.
    The library is set to compile to "Production" mode for a release.
    Yet, the default compilation mode before that was "Development". If
    the user doesn't specify "--enable-production" on the command line,
    the configure defaults to "Production" mode, but the summary still
    reported "Development" mode.

    (Confused yet? Just get a load of the solution.)
Solution:
    Modified script so that after we've determined which compilation mode
    we're in, we reset the "enable_production" variable to the correct
    setting. So, we no longer have a "default". The summary part then
    reads the new value and uses that to determine which mode we're in.

    The debugging summary information was reworked so that it would
    output the correct summary information. Slight hacking of the summary
    script to check the values a bit more closely...
Platforms tested:
    Linux (eirene)
2002-02-13 14:50:12 -05:00
Quincey Koziol
de12006e45 [svn-r4949] Purpose:
Bug fix
Description:
    When a block was preempted from the chunk cache, it is possible that one
    of the pointers in the algorithm is invalidated and would generate a core
    dump.
Solution:
    Re-calculate the internal pointer and move the the preemption after the
    re-calc.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-02-13 14:24:16 -05:00
Quincey Koziol
d4dbd35447 [svn-r4948] Purpose:
Bug fix
Description:
    When a block was preempted from the chunk cache, it is possible that one
    of the pointers in the algorithm is invalidated and would generate a core
    dump.
Solution:
    Re-calculate the internal pointer and move the the preemption after the
    re-calc.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-02-13 14:23:57 -05:00
Albert Cheng
ab91035acc [svn-r4946] Updated tflop compiler information. 2002-02-12 17:45:49 -05:00
Elena Pourmal
dd12a76f81 [svn-r4945]
Purpose:
    Maintenance for the hdf5-1.4.3 release
Description:
    Modified full version string and subrelease string for 1.4.3 release.
Platforms tested:
    SP3 and True64
2002-02-12 16:54:41 -05:00
Albert Cheng
012d4ab907 [svn-r4944] INSTALL_parallel: updated with current information.
RELEASE.txt: updated the supported feature section.
2002-02-12 16:34:29 -05:00
Binh-Minh Ribler
e10712be9d [svn-r4940]
Purpose:
    For adding INSTALL_Windows_withcpp.txt
2002-02-12 07:53:45 -05:00
Binh-Minh Ribler
5c34950283 [svn-r4939]
Purpose:
    Adding support for dll
Description:
    Added the definition of __DLLCPP__ depending on:
	HDF5_CPPDLL_EXPORTS: C++ API is to be exported - this name is
		generated by MSVC++ when the project was created.
	HDF5CPP_USEDLL: C++ API dll is to be used (imported.)  Any
		applications, that use the C++ API dll, must define this
		name in the project setting.
    On non-windows platforms, __DLLCPP__ is nil.
Platforms tested:
    Windows 2000
2002-02-11 22:51:36 -05:00
Binh-Minh Ribler
f2f90dea38 [svn-r4938]
Purpose:
    Adding support for dll
Description:
    Added __DLLCPP__ to all public classes and templates.
    Added #include "H5Include.h" to H5RefCounter.cpp because of the
          use of DLLCPP in .h file and it needs the following chain:
                H5Include.h/hdf5.h/H5public.h/H5api_adpt.h
    Added #pragma warning(disable: 4251) to H5Exception.h to eliminate
	this warning on private data members of type 'string.'  This
	occurs because 'string' is not yet instantiated at compilation
	time; however, since the class is exported, the warning is
	harmless.
    Changed this member function's parameter to be passed as reference.
	from:
	    void CompType::insertMember( const string name,...
	to:
	    void CompType::insertMember( const string& name,...
Platforms tested:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
    FreeBSD (sleipnir)
    Windows 2000
2002-02-11 22:43:20 -05:00
Binh-Minh Ribler
96e63cc9e9 [svn-r4937] Purpose:
Updating zip file for windows
Description:
    Added DLL version of the C++ API library and tests to all.zip.
    The C++ API is disabled, however, and will need to be enabled by
    the user.
Platforms tested:
    Windows 2000
2002-02-11 21:34:19 -05:00
Binh-Minh Ribler
ef99c14d72 [svn-r4936]
Purpose:
    Updating install file
Description:
    Adding the instruction about copying the appropriate ddl files to
    the system directory.
2002-02-11 17:12:33 -05:00
Frank Baker
fb6aea9aa2 [svn-r4935]
Purpose:
    Added a reference to the "New HDF5 User's Guide" work in the 'Docs'
    section and fixed a spelling error.
Platforms tested:
    IE 5
2002-02-11 14:49:21 -05:00
Frank Baker
378320922a [svn-r4934]
Purpose:
    Added pointer to the "New HDF5 User's Guide" work on our server.
Platforms tested:
    IE 5
2002-02-11 14:43:04 -05:00
Binh-Minh Ribler
b18a25f7c4 [svn-r4933]
Purpose:
    Updating release file
Description:
    Added C++ API changes and note on new DLL support.
2002-02-11 14:35:24 -05:00
Binh-Minh Ribler
58fc836f4c [svn-r4932]
Purpose:
    Adding install file
Description:
    Added the install file specifically for C++ API on Windows,
    INSTALL_Windows_withcpp.txt
2002-02-11 14:16:33 -05:00
Elena Pourmal
c2011e5ad6 [svn-r4931]
Purpose:
    Maintenance
Description:
    Reformatted "New Features" section; added info about C++ on Windows
    and IA-32/64 platforms.
2002-02-11 14:07:59 -05:00
Bill Wendling
7903039885 [svn-r4929] Purpose:
Changes
Description:
	Changed the examples from "hdf5-1.4.2*" to "hdf5-1.4.3*". Some minor
	reformatting so that everything looks nice and consistant.
2002-02-08 14:18:32 -05:00
Bill Wendling
06dadd7378 [svn-r4928] Purpose:
Hack Add
Description:
	Added hack so that it recognizes a Hitachi platform.
2002-02-08 13:57:20 -05:00
Bill Wendling
0078946ca2 [svn-r4925] Purpose:
Bug Fix
Description:
	The libraries were relying upon the "exec_prefix" variable. However,
	we weren't including that variable in the h5cc script.
Solution:
	Added it.
Platforms tested:
	Linux
2002-02-08 12:40:20 -05:00
MuQun Yang
81e3b7e216 [svn-r4924]
Purpose:
    Updated project files for hdf4-related tools
Description:
    hdf4 libraries are updated from 4.1r3 to 4.1r5. Default library pathes
    and names are updated.
Solution:

Platforms tested:
   windows 98
2002-02-08 10:25:37 -05:00
Frank Baker
12f75c8aab [svn-r4922]
Purpose:
    Added parameter IN/OUT designations for H5Zregister.
Platforms tested:
    IE 5
2002-02-07 15:27:14 -05:00
MuQun Yang
9d7c7b91e4 [svn-r4919]
Purpose:
    fix INSTALL_Windows.txt for the new release
Description:
     1. erase all.exe link error message, thanks Pedro for fixing this by using utility project
     2. change HDF5 and HDF4 version number.
Solution:
Platforms tested:
2002-02-07 13:57:05 -05:00
MuQun Yang
2b86de640c [svn-r4918]
Purpose:
    erase ambiguity
Description:
    function name pow has been used by some platforms like windows. So use h4toh5pow to replace pow.
Solution:
Platforms tested:
     windows 2000
2002-02-07 13:22:34 -05:00
Quincey Koziol
a20c7c88b5 [svn-r4911] Purpose:
Bug Fix
Description:
    Turn off some more optimizations, to avoid compiler bugs.
Platforms tested:
    Cray SV1 (killeen.nersc.gov)
2002-02-07 10:41:09 -05:00
Frank Baker
992b84fbb1 [svn-r4910]
Purpose:
    Bugfix.
Description:
    Corrected H5Zregister description.  There is one 'function'
    parameter, rather than the two 'compression-function' and
    'uncompression-function' parameters that were listed.
Platforms tested:
    IE 5
2002-02-06 17:34:49 -05:00
Pedro Vicente Nunes
429347d841 [svn-r4909]
Purpose:


added new all.dsw and all.dsp that have a utility project instead of a application project (this was causing a link error message)                                                                                                                                                                                                              added the file tmisc.c to the projects testhdf5 and testhdf5dll                                                 these 2 projects were replaced in the all.zip file
and all_withf90.zip all_withhdf4.zip
2002-02-06 16:44:23 -05:00
Bill Wendling
d13a9579f1 [svn-r4908] Purpose:
Documentation of bug^Wfeature
Description:
	Documented the demented way libtool treats the Intel compiler on IA64
	systems. I.e., it doesn't use the "-Wl," flag for during the linking
	phase of the compilation process.
Solution:
	Explained how and where to change the libtool file after
	configuration so that you can compile the stuff.
Platforms tested:
	Stone tablets
2002-02-06 16:29:07 -05:00
Elena Pourmal
8d5c4123c9 [svn-r4907]
Purpose:
    Maintenance for the hdf5-1.4.3 release
Description:
    I updated information for DEC, T3E, SV1, SP3 and IA-64 systems.
    I also edit 1.2 compatibility column in the supported features
    table to show that this feature was not tested for the release.
2002-02-06 14:50:17 -05:00
Pedro Vicente Nunes
c59d3b2b0b [svn-r4906]
Purpose:
    modified all.zip
Description:
added new code warrior project file
added new all.dsw and all.dsp that have a utility project instead of a application project (this was causing a link error message)

added the file tmisc.c to the projects testhdf5 and testhdf5dll
these 2 projects were replaced in the all.zip file

added a new  H5pubconf.h file
 The file H5pubconf.h compiled  on CW  shows an error  "inconsistent line endings"
That is because CW and MSVC use different line endings. For the thing to work we have either
to edit the file on MSVC and then save it on CW to remove those line endings or just edit it on CW.






Solution
Platforms tested:
    windows 2000
2002-02-06 12:38:35 -05:00
Albert Cheng
f78ba5411f [svn-r4902] Purpose:
Bug fix
Description:
    The size of types off_t and size_t were cached but they depended
    on what compiler options are used (e.g., if -D_LARGE_FILES is
    used).
    Removed the cached value and let configure figure it out.
    One can still put in the cached value by setting the corresponding
    values to get the old effect.
Platforms tested:
    LLNL Blue.
2002-02-04 15:50:17 -05:00
Albert Cheng
55673911fa [svn-r4901] Purpose:
feature
Description:
    RUNPARALLEL was hardset to 2 processes running.
    Changed it to 3 processes by default and can be overrid
    by user set value.  (3 processes have a better chance to discover
    errors than just 2.)
Platforms tested:
    LLNL Blue.
2002-02-04 11:01:28 -05:00
HDF Admin
b6f13d737c [svn-r4900] Snapshot version 1.4 release 3 (snap11) 2002-02-02 09:04:24 -05:00
Frank Baker
c2b5485b80 [svn-r4899]
Purpose:
    Bugfix.
Description:
    Added IN/OUT parameter designations in release branch.
    Previously added in development branch.
    Completes 4 (with RM_H5F.html done earlier) of 7 sections
        required to close Bug #351.
Platforms tested:
    IE 5
2002-02-01 16:41:58 -05:00
Frank Baker
ff1b4f41a3 [svn-r4897]
Purpose:
    To record changes in public APIs from R1.4.2 to R1.4.3.
Description:
    In first section, noted the only API change from 1.4.2 to 1.4.3:
        In C:     H5Pset_fapl_dpss removed.  No other changes.
        In F90:   No changes.
Platforms tested:
    IE 5
2002-02-01 13:51:55 -05:00
Robb Matzke
43ba21ebf4 [svn-r4896] ./hdf5-1.4/tools/h5ls/h5ls.c
Copied development version of h5ls.c to 1.4 branch. There were a
couple changes by other people that looked like they were probably bug
fixes, so I just included them all.
2002-02-01 13:51:06 -05:00
Bill Wendling
74ca9e8ea2 [svn-r4895] Purpose:
Feature Add
Description:
	Added the performance measuring tool to the 1.4 branch.
Platforms tested:
	Linux(pp)
2002-01-31 15:27:18 -05:00
cvs2svn
ffab5ce759 [svn-r4894] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2002-01-31 15:27:18 -05:00
Quincey Koziol
7821aaa063 [svn-r4893] Purpose:
Code speedup
Description:
    Chunking I/O routines are reading in an entire chunk when performing I/O
    on the chunk, even if the chunk will be too large to cache.
Solution:
    If the chunk is too large to cache, uncompressed and has been allocated
    space in the file, or if we are using the MPI-I/O VFD, perform the I/O
    directly to the chunk, instead of reading the chunk into memory, updating
    it and immediately writing the entire chunk back out.
Platforms tested:
    FreeBSD 4.5 (sleipnir) (using serial access) and IRIX64 6.5 (modi4) (using
    parallel access with MPI-I/O)
2002-01-31 14:49:09 -05:00
Frank Baker
51cb8e3210 [svn-r4888]
Description:
    Throughout doc set, updated "Describes HDF5 Release..."
    notice to "...1.4.3, February 2002".
Platforms tested:
    IE 5
2002-01-30 17:36:59 -05:00
Frank Baker
f3a716755f [svn-r4887]
Description:
    Updated copyright notice.
Platforms tested:
    IE 5
2002-01-30 17:33:06 -05:00
Frank Baker
6ad9f4eaf3 [svn-r4886]
Description:
    Updated release subhead to "Release 1.4.3, February 2002".
Platforms tested:
    IE 5
2002-01-30 17:30:32 -05:00
Bill Wendling
d782258e3b [svn-r4884] Purpose:
Bug Fix
Description:
	For some reason, a wrong line was introduced into the ltconfig in my
	"Major Hack(tm)" stuff.
Solution:
	Removed this line, which isn't supposed to be there cause that's why
	the Major Hack was there to begin with.
Platforms tested:
	NERSC machine and Pacific Blue
2002-01-30 16:18:49 -05:00
Bill Wendling
34e275c44c [svn-r4878] Purpose:
Update
Description:
	Reflected removal of the examples/run_examples.sh file
2002-01-28 13:44:51 -05:00
Albert Cheng
e9131714c7 [svn-r4877] Purpose:
Retired run_examples.sh.  Its purpose is covered by the
    "check" target.
Platforms tested:
    No tests--hard to test something that is removed.  Pretty
    sure it is not needed by any Make targets.
2002-01-28 12:07:33 -05:00
Albert Cheng
3543cc804f [svn-r4876] Purpose:
Bug fix
Description:
    $TEST_PROG_PARA was included in the serial tests.
    $TEST_PROG_PARA was not dependent on $LIBHDF5 (it should.)
Solution:
    Adjusted the file to fix both problems.
Platforms tested:
    modi4 (pp, -64)
2002-01-28 12:04:48 -05:00
Albert Cheng
ebec58437b [svn-r4875] Description:
Changed the data file names to use a suffix of .h5 (was .h5f).
    These allow them to be cleaned like other temporary files.
Platforms tested:
    modi4 (pp, -64)
2002-01-28 12:01:57 -05:00
MuQun Yang
1cbde26c41 [svn-r4873]
Purpose:
    fix code warrior bugs in hdf5.cmp.
    add macro for code warrior at manual
    configuration header file H5config.h and H5pubconf.h for PRINTF_LL_WIDTH
Description:
     dsets test is ignored in the previous code warrior data space. Add it in.
     dumper test failed on code warrior because code warrior used the different modifier(I64)     for printf at MSVS. Pedro said adding a macro for code warrior and it works.
Solution:
Platforms tested:
    code warrior on windows by pedro.
2002-01-28 11:50:00 -05:00
MuQun Yang
09f70f593b [svn-r4872]
Purpose:
    add a code warrior installation instruction for pedro
Description:
Solution:
Platforms tested:
2002-01-28 11:44:05 -05:00
Quincey Koziol
e46a7e9550 [svn-r4871] Purpose:
Add regression tests
Description:
    Added regression test for using a VL-datatype in two separate files.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-27 00:27:21 -05:00
Quincey Koziol
8fde2db872 [svn-r4870] Purpose:
Bug fixes

Description:
    This checkin addresses two separate bugs:
        #1 - When a compound datatype with a VL datatype as a field is used
            to read or write data, the datatype conversion paths added to
            the table of paths were treating the VL datatypes somewhat too
            genericly - they weren't dicriminating between VL datatypes used
            in different files and therefore there was the possibility that
            a path in the table having information for one file could get used
            with a second file, causing errors or core dumps (if the first
            file was closed before the later file used the path).
        #2 - When composite (compound, array or VL) datatype paths in the datatype
            conversion table are being tested to see if they can be used for
            the current datatypes being converted, they can cause additional
            conversion paths to be registered in the conversion path table.
            Since this causes the global table to change size and entries to
            move around, it is possible that the local variables tracking a
            potential path could become incorrect as the global table was
            changed out from underneath them.

        Both bugs fixed are described in bug #703

Solution:
    Two separate fixes:
        #1 - Changed H5T_cmp to differentiate between VL datatypes in different
            files and not to return datatypes in two different files as equal.
        #2 - Note size of global table before evaluating datatype paths.  Then,
            after the appropriate path has been chosen, check if the size of
            the global table has changed and recompute the position of the path
            chosen in the table if necessary.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-27 00:25:08 -05:00
Elena Pourmal
e9e8127ef3 [svn-r4865]
Purpose:
    Maintenance
Description:
    Several compiler's warnings caused Hitachi SR8000 running HI-UX/MPP
    F90 and C compilers to fail.
Solution:
    Fixed code to eliminate warning.
Platforms tested:
    O2K (modi4) and Solaris 2.7 (arabica)
2002-01-26 10:47:08 -05:00
Frank Baker
83685b9212 [svn-r4859]
Purpose:
    Update for Release 1.4.3.
Solution:
    Added outline for Release 1.4.3 API changes.
Platforms tested:
    IE 5
2002-01-25 10:25:04 -05:00
Robb Matzke
cab552d30b [svn-r4858] ./hdf5-1.4/src/H5Tpkg.h
Fri Jan 25 10:48:54 2002  Robb Matzke  <matzke@arborea.spizella.com>

	* src/H5Tconv.c (H5T_conv_order): Removed Duff's device consisting
	of >500 lines of code.  Unrolled two loops by hand resulting in
	<300 lines of code which is a few percent faster and far easier to
	read.

Fri Jan 25 10:48:34 2002  Robb Matzke  <matzke@arborea.spizella.com>

	* src/H5Tpkg.h: Added prototype for H5T_conv_order_opt().

Fri Jan 25 10:47:13 2002  Robb Matzke  <matzke@arborea.spizella.com>

	* src/H5T.c (H5T_init_interface): Registered conversion function
	H5T_conv_order_opt() under two names. H5T debugging will report
	the conversion function as either "ibo(opt)" or "fbo(opt)".
2002-01-25 10:17:13 -05:00
Robb Matzke
3947710c77 [svn-r4857] ./hdf5-1.4/src/H5Tconv.c
Fri Jan 25 10:48:54 2002  Robb Matzke  <matzke@arborea.spizella.com>

	* src/H5Tconv.c (H5T_conv_order): Removed Duff's device consisting
	of >500 lines of code.  Unrolled two loops by hand resulting in
	<300 lines of code which is a few percent faster and far easier to
	read.

Fri Jan 25 10:48:34 2002  Robb Matzke  <matzke@arborea.spizella.com>

	* src/H5Tpkg.h: Added prototype for H5T_conv_order_opt().

Fri Jan 25 10:47:13 2002  Robb Matzke  <matzke@arborea.spizella.com>

	* src/H5T.c (H5T_init_interface): Registered conversion function
	H5T_conv_order_opt() under two names. H5T debugging will report
	the conversion function as either "ibo(opt)" or "fbo(opt)".
2002-01-25 10:17:04 -05:00
Robb Matzke
4d0ee09920 [svn-r4856] ./hdf5-1.4/src/H5T.c
Fri Jan 25 10:48:54 2002  Robb Matzke  <matzke@arborea.spizella.com>

	* src/H5Tconv.c (H5T_conv_order): Removed Duff's device consisting
	of >500 lines of code.  Unrolled two loops by hand resulting in
	<300 lines of code which is a few percent faster and far easier to
	read.

Fri Jan 25 10:48:34 2002  Robb Matzke  <matzke@arborea.spizella.com>

	* src/H5Tpkg.h: Added prototype for H5T_conv_order_opt().

Fri Jan 25 10:47:13 2002  Robb Matzke  <matzke@arborea.spizella.com>

	* src/H5T.c (H5T_init_interface): Registered conversion function
	H5T_conv_order_opt() under two names. H5T debugging will report
	the conversion function as either "ibo(opt)" or "fbo(opt)".
2002-01-25 10:16:57 -05:00
Quincey Koziol
b48ba72248 [svn-r4854] Purpose:
Update manifest with new test file.
2002-01-25 09:54:04 -05:00
Quincey Koziol
406492e3d2 [svn-r4853] Purpose:
Bug Fix
Description:
    When file space was returned to the file space free-list for reuse,
    occasionally raw data allocations which used space from the free-list
    would overlap with the metadata accumulator and get over-written with
    the cached information in the accumulator, corrupting the data.
Solution:
    Check if the space about to be recycled on the free-list is going to be
    used for raw data and also overlaps with the metadata accumulator cache,
    avoiding using space that fits those criteria.

    This fixes bug #701

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-23 16:30:34 -05:00
cvs2svn
9627cb625d [svn-r4852] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2002-01-23 16:30:34 -05:00
Quincey Koziol
c2bca116dd [svn-r4831] Purpose:
Update docs
Description:
    Update Solaris 2.8 information
2002-01-15 17:06:55 -05:00
Quincey Koziol
4044920f0e [svn-r4830] Purpose:
Update docs
Description:
    Updated FreeBSD information
2002-01-15 16:14:23 -05:00
Bill Wendling
82529f8ecf [svn-r4828]
Purpose:
	Feature Description
Description:
	Added the MPI compiler used for parallel stuff on HP-UX 11 SysV
Platforms tested:
	Stone Tablets
2002-01-15 11:53:23 -05:00
MuQun Yang
e04889c662 [svn-r4827]
Purpose:
    flush1dll missed from workspace. Add it.
Description:
Solution:
Platforms tested:
   windows 98
2002-01-15 11:43:37 -05:00
Frank Baker
0187cbb417 [svn-r4826]
Purpose:
    Bugfix -- Fixes bug #640.
Description:
    H5Sget_simple_extent_npoints:  Corrected return type to hssize_t.
Platforms tested:
    IE 5
2002-01-15 10:25:00 -05:00
Frank Baker
cd29d00dba [svn-r4825]
Purpose:
    Clarification.  Might even call it a bugfix.
Description:
    H5Gunlink:  Corrected loc_id parameter to be 'file or group'
                rather than just 'file'.
Platforms tested:
    IE 5
2002-01-15 10:22:34 -05:00
Frank Baker
d19059b61e [svn-r4824]
Purpose:
    Bugfixes.
Description:
    Corrected spellings of FORTRAN function names (mpi --> mpio)
        h5pset/get_fapl_mpio_f  &  h5pset/get_dxpl_mpio_f
Platforms tested:
    IE 5
2002-01-15 10:10:08 -05:00
Frank Baker
e379743b6e [svn-r4823]
Purpose:
    Bugfixes.
    Removed H5Pset_fapl_dpss.
    Clarifications & a new list of driver IDs.
Description:
    Corrected spellings of FORTRAN function names (mpi --> mpio)
        h5pset/get_fapl_mpio_f  &  h5pset/get_dxpl_mpio_f
    H5Pset_fapl_dpss:
        Removed function from RM.
    H5Pget_driver:
        Corrected return type.
        Added list of valid driver identifiers and note re custom drivers.
    H5Pcreate:
	Added note, per user complaint, that the property must eventually
	be closed with H5Pclose, else errors are likely to occur.
Platforms tested:
    IE 5
2002-01-15 10:08:34 -05:00
Frank Baker
1a1dde2632 [svn-r4822]
Purpose:
    Clarification and bugfix
Description:
    H5Aclose -- Changed statement regarding future use of a released
        attribute identifier.
    H5Acreate -- Corrected create_plist_id reference and listed H5P_DEFAULT
        as only currently-accepted value.
Platforms tested:
    IE 5
2002-01-15 09:56:52 -05:00
MuQun Yang
7d725cd9fa [svn-r4820]
Purpose:
    fix bug for release dll
Description:
    It seems that by changing the project setting option to multithreaded DLL make the testing of release dll work(It should be multithreaded DLL anyway).
Solution:
Platforms tested:
    windows 2000
    [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.]
2002-01-14 15:24:39 -05:00
MuQun Yang
547f90442d [svn-r4819]
Purpose:
    update code warrior project
Description:
    Help pedro check into his updated code warrior project on windows
Solution:
Platforms tested:
2002-01-14 14:28:34 -05:00
MuQun Yang
c1a60641cd [svn-r4815]
Purpose:
    update c++ project settings
Description:
Solution:
Platforms tested:
   windows 2000
2002-01-11 14:32:41 -05:00
Quincey Koziol
01c8e592c1 [svn-r4814] Purpose:
Bug fix
Description:
    HDfprintf was not handling Microsoft's "%I64d" extension to printf for
    printing thier '__int64' type.
Solution:
    Added code to properly detect and use this extension.
Platforms tested:
    None!  (Kent will be testing shortly)
2002-01-11 10:43:01 -05:00
Binh-Minh Ribler
29f7c3828c [svn-r4810]
Purpose:
    Updating zip file for windows
Description:
    Added C++ API library and tests to all.zip.
    The C++ API is disabled, however, and will need to be enabled by
    the user.  Only static library is added, no dll for C++ API yet.
Platforms tested:
    Windows 2000
2002-01-09 16:54:41 -05:00
Binh-Minh Ribler
221ed28a10 [svn-r4808]
Purpose:
    Cleanup warning
Description:
    The use of mkdir in h5test.c caused this warning on windows:
...h5test.c(396) : warning C4013: 'mkdir' undefined; assuming extern returning int
Solution:
    Replaced mkdir to HDmkdir, that Kent just added.  This change
    requires the header file <direct.h> to be added to h5test.c
Platforms tested:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
    Windows 2000
2002-01-09 14:29:39 -05:00
Binh-Minh Ribler
68f5361a73 [svn-r4807]
Purpose:
    Bug fix
Description:
    In several if statements, '>' was used in place of '<='.  This
    caused exceptions thrown inappropriately.  Replaced '>' by '<='
    where applicable.
Platforms tested:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
    Windows 2000
2002-01-09 14:24:50 -05:00
Binh-Minh Ribler
ca7c14ea30 [svn-r4806]
Purpose:
    Cleanup warnings
Description:
    Removed unused variables.
Platforms tested:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
    Windows 2000
2002-01-09 14:22:24 -05:00
MuQun Yang
25a0352f41 [svn-r4800]
Purpose:
    update windows project setting zip files for 1.4 branch
Description:
    The main change is H5pubconf.h and H5config.h. Make it consistent with
    1.5 branch.
Solution:
Platforms tested:
windows 2000(release dll failed when testing VL length attribute)
2002-01-08 13:08:15 -05:00
MuQun Yang
c1a595ec27 [svn-r4799]
Purpose:
     a bug fix for windows time testing
Description:
     daylight constant is not handled correctly on windows.
     Hard code for the time being.
Solution:
Platforms tested:
     windows 2000
2002-01-08 13:03:52 -05:00
MuQun Yang
4fe68ccc12 [svn-r4798]
Purpose:
    move H5_inline defination to H5pubconf.h
    define HDmkdir for windows
Description:
Solution:
Platforms tested:
    windows 2000
2002-01-08 11:58:48 -05:00
Quincey Koziol
2c3a0ba880 [svn-r4797] Purpose:
Bug fix
Description:
    The 'ssize_t' is not defined in Windows.
Solution:
    Bring over chunk of code from development branch to define it, if it's
    not defined by the system.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-08 11:12:03 -05:00
Elena Pourmal
3daae4c89d [svn-r4793]
Purpose:
    Maintenance
Description:
    Updated compilers information for OSF5.1 and added C++ support
    for SP3 and OSF5.1 to the "Configuration Features" table.
2002-01-07 16:44:07 -05:00
Albert Cheng
34d711cec5 [svn-r4792] Purpose:
Extension
Description:
    int64_t type is not available everywhere.
    #include H5private.h which has platform dependent hooks
    to define int64_t to something available.
Platforms tested:
    Tflops, modi4 (parallel), eirene(PP)
2002-01-07 15:58:39 -05:00
Albert Cheng
ccf3135df0 [svn-r4791] Purpose:
Bug fix.
Description:
    __int64 is not a legal type in Tflops.
    Set its sizeof to 0 in the cached values.
    This is a temporary fix since the real problem is
    in configure which hardset __int64 to 8 for cross-compiling cases.
Platforms tested:
    Tflops
2002-01-07 15:54:54 -05:00
Bill Wendling
0bd1b41ba5 [svn-r4790]
Purpose:
	Bug Fix
Description:
	Trailing ,'s after a list of initializers to an array were causing
	some compilers to barf.
Solution:
	Put the commas before the elements in the list so we don't have an
	empty trailing comma.
Platforms tested:
	Linux (pp)
2002-01-07 14:57:26 -05:00
Quincey Koziol
1c357f8f37 [svn-r4788] Purpose:
Document bug
Description:
    Mention that h5dump and h5ls are not displaying variable-length string
    datatype information correctly.  I've also entered a more detailed bug into
    the bug database.
2002-01-07 14:44:41 -05:00
Bill Wendling
73156ed79d [svn-r4787]
Purpose:
	Bug Fix
Description:
	int64_t was being used as a type for some of these. However, some
	platforms don't have int64_t defined.
Solution:
	changed them to "long" instead.
Platforms tested:
	Linux
2002-01-07 14:03:31 -05:00
cvs2svn
4a6ab7f519 [svn-r4785] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2002-01-05 21:20:02 -05:00
Bill Wendling
8c1c416d4d [svn-r4784]
Purpose:
	feature add
Description:
	Added ability to h5dumper to dump Group comments.
Solution:
	Stole the code from h5ls that does this and put it into the h5dumper
	code. Modified the DDL to reflect the newest change. Added a testcase
	(tgrp_comments.*) to test that it's actually doing the comments
	correctly.

	Small modification to H5G.c. The error comment should have said that
	it couldn't "get" the comment instead of "set" the comment...
Platforms tested:
	Dangermouse, Kelgai, Modi4
2002-01-05 21:18:20 -05:00
HDF Admin
84dc43d313 [svn-r4781] Snapshot version 1.4 release 3 (snap10) 2002-01-05 08:24:09 -05:00
Quincey Koziol
1159d26906 [svn-r4779] Purpose:
Document VL datatype for attributes bug fix from yesterday.
2002-01-04 15:53:52 -05:00
Elena Pourmal
adbff268a2 [svn-r4777]
Purpose:
    Bug fix
Description:
    SP3 xlc compiler does not allow trailing comma in enum
    construction.
Solution:
    Replaced
            enum {
                  var1 =0,
                  var2,
                  etc,
            }
    with
            enum {
                  var1 = 0
                 ,var2
                 ,etc
            }
     as it is done in the 1.5 branch

Platforms tested:
     NERSC SP3 and modi4.
2002-01-04 15:25:59 -05:00
Elena Pourmal
d3078913a1 [svn-r4776]
Purpose:
    Bug fix and maintenance
Description:
    tH5E.f90 file was missing from the testhdf5_fortran(dll) projects.
    This caused Fortran compilation to fail on Windows.
    I also created and added two new projects flush1_fortradll and
    flush2_fortrandll that were never added in when I did Fortran port for Windows.
Solution:
    Added missing files to the projects.
Platforms tested:
    Windows 2K
2002-01-04 10:50:30 -05:00
Quincey Koziol
ee82d83331 [svn-r4775] Purpose:
Regression test

Description:
    Added regression test which stores variable length strings as an attribute.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-03 21:45:42 -05:00
Quincey Koziol
a5b4db88f4 [svn-r4774] Purpose:
Bug Fix.

Description:
    Equation to compute size of attribute in memory was incorrectly using the
    disk's datatype (and dataspace, but that turns out not to have been the
    actual issue) and when a variable length datatype was used for the
    attribute, the wrong size is being computed.

Solution:
    Changed attribute code to compute the attribute size in memory correctly
    by using the memory datatype & dataspace.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-03 21:45:16 -05:00
MuQun Yang
4d9e0c30b0 [svn-r4771]
Purpose:
   H5dpss.c no longer exists, remove the file from windows project.
Description:
Solution:
Platforms tested:
windows 2000
2002-01-03 14:58:22 -05:00
MuQun Yang
2b429323f9 [svn-r4770]
Purpose:
    data type match
Description:
 T3E needs the data type of array to be exactly matched.
Solution:
  Use force-casted to match int32 to hsize_t.
Platforms tested:
2002-01-03 14:44:58 -05:00
Quincey Koziol
0926974a63 [svn-r4769] Purpose:
Bug Fix/Code Cleanup
Description:
    Duplicated call to H5T_path_find was being made.
Solution:
    Removed one... :-)
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-03 13:57:44 -05:00
Albert Cheng
b935acd43f [svn-r4766] Updated with the new feature of enable-threadsafe. 2002-01-02 14:09:02 -05:00
Albert Cheng
ecf54db74e [svn-r4764] Purpose:
Bug fix.
Description:
    FreeBSD would fail the threadsafe feature if static-exec is not on.
Solution:
    Force enable-static-exec on if enable-threadsafe is on.
    Also moved the chunk of FreeBSD specific code for Pthread setup
    from configure.in to config/freebsd.
    Also changed enable-threadsafe to check on linking pthread program.
    That takes care of platforms (e.g. freebsd) that has pthread
    support builtin the default C library.  Now one can just use
    "enable-threadsafe" if the compiler has pthread support by default.
Platforms tested:
    eirene, both positive test and negative test (just --enable-threadsafe
    failed because linux needs -lpthread).
    Sleipnir (verified static-exec must be used.)
2002-01-02 13:34:58 -05:00
Albert Cheng
8b6859c228 [svn-r4762] Description:
Updated with the information of removal of DPSS driver.
Platforms tested:
    Eye-balled.
2001-12-31 13:20:20 -05:00
Albert Cheng
54121674c3 [svn-r4761] Purpose:
Removing the DPSS (gridstorage) driver source code.
    (same as the v1.5)
Description:
    The DPSS (using Grid-Storage) driver is retired.
    Removed the configure option with-gridstorage from configure.in.
    Cvs remove the following files
    ./src/H5FDdpss.c
    ./src/H5FDdpss.h
    ./test/dpss_read.c
    ./test/dpss_write.c

    Regenerated Dependencies files (some had to be hand-edited since
    'make depend' did not cover them.)
    Removed reference to DPSS Virtual file driver from H5F.c.
Platforms tested:
    modi4 (Parallel; -with-gass=...)
    eirene (pthread safe)
    arabica (fortran, cxx).
2001-12-30 23:58:53 -05:00
Albert Cheng
b86f8fd78c [svn-r4760] Purpose:
Bug fix
Description:
        The "make depend" command wasn't propagating down into the tools/
        directories.
Solution:
        Added the "depend:" part to the Makefile in the tools/ subdirectory.
	(duplicated what Bill did to v1.5)
Platforms tested:
        Linux
2001-12-30 17:36:01 -05:00
Bill Wendling
c157e849ed [svn-r4752]
Purpose:
	Doc
Description:
	Documented the addition of parallel HDF5 support for HP-UX 11.
2001-12-21 16:23:48 -05:00
Bill Wendling
302e978dd9 [svn-r4751]
Purpose:
	Bug Fix
Description:
	Added support for HP-UX 11.00 in parallel. We needed to set the
	"MPI_Status" variable to 0 before using it.
Solution:
	Set the MPI_Status variable to 0.
Platforms tested:
	Linux (pp) and HP-UX (pp)
2001-12-21 16:11:32 -05:00
Bill Wendling
d5fe364b2a [svn-r4750]
Purpose:
	Feature Description
Description:
	Added description of the --filedriver flag to the H5dump.
Platforms tested:
	w3m
2001-12-21 15:05:24 -05:00
Quincey Koziol
5b7c2f2786 [svn-r4740] Purpose:
Bug Fix
Description:
    Added regression test for proper library behavior when adding fields past
    the end of a datatype.
Platforms Tested:
    FreeBSD 4.4 (sleipnir)
2001-12-18 15:30:58 -05:00
Quincey Koziol
4072b04085 [svn-r4739] Purpose:
Bug Fix
Description:
    H5Tinsert was allowing compound datatype fields to be inserted past the end
    of the datatype.
Solution:
    Added range check in H5T_insert
Platforms Tested:
    FreeBSD 4.4 (sleipnir)
2001-12-18 15:30:24 -05:00
Quincey Koziol
d6173e5b0e [svn-r4738] Purpose:
Bug Fix
Description:
    Document bug fix.
2001-12-18 15:29:34 -05:00
Bill Wendling
4be3d60872 [svn-r4730]
Purpose:
	Feature Fix
Description:
	Have a better explanation of how to use the =DIR and =INC,LIB options
	for --with-xxx options.
Solution:
	Created a phoney --with-fnord option whose only purpose it so supply
	us with the appropriate --help message.
Platforms tested:
	Linux
2001-12-17 17:27:07 -05:00
Bill Wendling
971bc920b5 [svn-r4728]
Purpose:
	Feature Add
Description:
	Changed the configure so that =DIR directives are accepted (and are
	the ones shown by default) for all --with-xxx options which take an
	INC,LIB specifier pair. The old behavior of accepting =INC,LIB is
	still available, but the =DIR is the one which is outlined in the
	--help message.
Platforms tested:
	Linux
2001-12-17 14:34:26 -05:00
Quincey Koziol
10814e603c [svn-r4726] Purpose:
Add missing h4toh5 file.
2001-12-16 09:57:32 -05:00
Binh-Minh Ribler
7e494907c8 [svn-r4724]
Purpose:
    Eliminated warnings

Description:
    1. H5CommonFG.cpp:
	On IRIX and Windows 98, if a function, that is declared to
	return a value, throws an exception in "else" statement, the
	compiler still complains that the function doesn't return a value.

    2. Others:
	H5IdComponent::operator= shouldn't be virtual because the subclass'
	operator= have different type for the rhs argument.

Solution:
    1.
    Replaced:
        if (something valid)
            return a value
        else
            throw an exception

    with:
        if (something invalid)
            throw an exception
        return a value

    2. Removed 'virtual'

Platforms tested:
    FreeBSD 4.4 (hawkwind)
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
2001-12-13 22:34:57 -05:00
cvs2svn
791d110501 [svn-r4721] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-12-13 11:53:48 -05:00
MuQun Yang
c61540a7f8 [svn-r4720]
Purpose:
    A bug fixed for unlimited dimension with zero size
    A new feature(using a parameter file to pass some parameters in special
                  conversion cases: unlimited dimension with the current
                  size of 0 and enormous huge SDS array)
Description:
    1.conversion of unlimited dimension data with the current dimensional size 0
    2. Use a parameter file to control some special cases:
        1) To subdivide the huge array into hyperslabs, a memory buffer size has i
           to be set.
        2) when current dimensional size is 0, a default chunk size can be set.

Solution:
    bug fixed    1. Old approach: the current dimensional size is set to H5S_UNLIMITED, which is
                  a huge number. The default chunk size is set as a *FIXED* default value.
    2. New approach: the current dimensional size is set to the current value 0.
                     Users can provide the chunk size through a parameter file.

Platforms tested:
RedHat zoot 6.2
2001-12-13 11:51:20 -05:00
MuQun Yang
f7bd360546 [svn-r4711]
Purpose:
    update h4toh5 testing files due to the change of vdata conversion
Description:
Solution:
Platforms tested:
eirene
2001-12-12 15:24:13 -05:00
MuQun Yang
9ade4af5e7 [svn-r4710]
Purpose:
    bug fix
Description:
 HDF4 vdata is extensible, So the converted HDF5 should be extensible.
 The old version doesnot make the converted HDF5 dataset extensible.
Solution:
Make it extensible.
Platforms tested:
redHat 6.2(eirene)
2001-12-12 15:22:54 -05:00
MuQun Yang
1981c33f1a [svn-r4709]
Purpose:
     a bug fix
Description:
    erase back slash at the end of lines of Installexamples.bat
Solution:
Platforms tested:
2001-12-12 15:18:22 -05:00
Quincey Koziol
63ad5253db [svn-r4705] Purpose:
Code cleanup
Description:
    Tweaked internal error handling macros to reduce the size of the library's
    object code by about 10-20%.
Platforms tested:
    FreeBSD 4.4 (sleipnir)
2001-12-12 13:34:20 -05:00
Quincey Koziol
1672209bea [svn-r4694] Purpose:
Bug Fix

Description:
    The file metadata macros generate unaligned access warnings on the IA64
    architecture.

Solution:
    Got rid of bogus big-endian vs. little-endian differentiation when encoding
    and decoding file metadata and use proper set of macros to prevent unaligned
    access problems.

    This fixes bug #672.

Platforms tested:
    FreeBSD 4.4 (sleipnir)
2001-12-11 13:52:09 -05:00
Quincey Koziol
73898f3987 [svn-r4692] Purpose:
Bug Fix
Description:
    The code in H5Sselect_hyperslab_valid contained an fencepost error and is
    allowing selections which overlap the extent by exactly one element in any
    dimension to pass as valid instead of flagging the selection as invalid.

    This bug only affects hyperslabs which have been OR'ed together, not the
    selection from a single H5Sselect_hyperslab.

    This fixes bug #550.

Solution:
    Changed an '>' to an '>=' and added new regression test to check for error.

Platforms tested:
    FreeBSD 4.4 (sleipnir)
2001-12-11 13:24:30 -05:00
HDF Admin
79d4556224 [svn-r4684] Snapshot version 1.4 release 3 (snap9) 2001-12-08 10:25:19 -05:00
Albert Cheng
f41dd6fd2c [svn-r4681] Purpose:
Bug fix
Description:
    A a build had occurred in the source tree ($CURRENT) and did not
    do a distclean, the left over files would interfere with srcdir
    build.
Solution:
    Added a "make distclean" in the "checkout" option to clean up
    the $CURRENT just in case.  Not necessarily the most optimal
    spot to do the cleaning but convenient.
Platforms tested:
    Eirene.
2001-12-06 16:42:38 -05:00
Frank Baker
e0cfbd53e0 [svn-r4677]
Purpose:
    Expanded descriptions and minor copy edits.


Solution:
    H5Fcreate, H5Fopen, H5Fclose
       Changes stemming from Albert's H5Fxxx proposal
    Added IN/OUT designations to parameters.
    Minor formatting and copy edits.

    [Sorry about the extra lines here, but every time I try to delete a
    blank line, I get a "no space left on device" error.]

Platforms tested:
    IE 5
2001-12-05 17:00:28 -05:00
Albert Cheng
e9f142f85d [svn-r4671] Purpose:
Bug fix
Description:
    Snapshot does "make check" directly, instead of building all
    binary first.  This means it does not cover code that are not
    tested (e.g., example, perform).  (That explained why the errors
    in the PIO performance code were not reported in daily test but
    blew up when people built the library the "normal" way.)
    It is done this way so that the snaptest aborts as soon as
    the first test failed rather than after all code are compiled.
Solution:
    Add "make" (to build all binary) before "make check".
    The allows snaptest to fail as soon as the first compiling failure.
    If we wish the snaptest to abort on the first test failure, the two
    can be swapped as "make check && make ...".  (It would appear strange
    to run tests then make binary.)
Platforms tested:
    Would be tested in the daily test tonight.  (I should have tested
    it first but I started this commit process already.  Sorry.)
2001-12-05 12:18:29 -05:00
HDF Admin
130f85df82 [svn-r4663] Snapshot version 1.4 release 3 (snap8) 2001-12-01 18:49:23 -05:00
Bill Wendling
a6f4290bd9 [svn-r4662]
Purpose:
	Bug Fix
Description:
	Libtool was putting some kind of "-bnso" flag on the compile line. We
	needed to support C++ on AIX and this was causing the compiler to
	barf.
Solution:
	Removed that line.
Platforms tested:
	OSF5.1
2001-11-30 13:08:30 -05:00
Elena Pourmal
f409466517 [svn-r4660]
Purpose:
    Maintenance
Description:
    Added configuration file for SP3 to support C++
Platforms tested:
    NERSC SP3
2001-11-28 16:00:48 -05:00
cvs2svn
ec22ceed07 [svn-r4659] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-11-28 16:00:48 -05:00
Elena Pourmal
fdf1e661c1 [svn-r4655]
Purpose:
    Maintenance
Solution:
    Added configurations files for OSF 5.1
Platforms tested:
    OSF 5.1 at PSC
2001-11-27 14:08:57 -05:00
Elena Pourmal
e001cafc7c [svn-r4654]
Purpose:
    Maintenance
Solution:
    Added configurations files for OSF 5.1
Platforms tested:
    OSF 5.1 at PSC
2001-11-27 14:08:50 -05:00
Elena Pourmal
70a8a9175c [svn-r4653]
Purpose:
    [is this a bug fix? feature? ...]
Description:
    Maintenance
Solution:
    Added configurations files for OSF 5.1
Platforms tested:
    OSF 5.1 at PSC
2001-11-27 14:08:33 -05:00
Elena Pourmal
6d8f2abbae [svn-r4651]
Purpose:
    Bug fix
Description:
    Somehow I forgot to add DEC compiler directives to the H5Eff.f90
    file. Linking failed on OSF 5.1
Solution:
    Added necessary compiler directives for name translations.
Platforms tested:
    OSF 5.1 (PSC)
2001-11-27 13:37:11 -05:00
cvs2svn
3d5df75dad [svn-r4648] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-11-27 13:14:37 -05:00
Elena Pourmal
8b869685cb [svn-r4641]
Purpose:
     Maintenance
Description:
     Added tests for the H5E Fortran interface
Platforms tested:
     arabica and eirene
2001-11-27 10:17:44 -05:00
Elena Pourmal
e4895fb48f [svn-r4640]
Purpose:
     Bug fix
Description:
     Error messages were printed to the file and standard output regardless            of the parameters passed to the h5eprint_f function. h5eprintc function           did not close the file with the error output. Fixed.
Platforms tested:
     arabica and eirene
2001-11-27 10:16:51 -05:00
Elena Pourmal
6da7ff5946 [svn-r4639]
Purpose:
    Maintenance
Description:
     I added new file tH5E.f90 to the fortran/test directory
Platforms tested:
     arabica and eirene
2001-11-27 10:16:07 -05:00
HDF Admin
b6594db882 [svn-r4610] Snapshot version 1.4 release 3 (snap7) 2001-11-17 21:42:20 -05:00
Binh-Minh Ribler
c0165f0a92 [svn-r4609] Purpose:
Bug fixing
Description:
    + added operator= to PredType
    + removed 'using namespace std' from H5RefCounter.cpp because it's not
        used and leaving it there requires #include some standard header file
    + added 'using namespace std' in H5Exception.cpp

Platforms tested:
    SunOS 5.7 (arabica)
2001-11-15 22:27:43 -05:00
Binh-Minh Ribler
d03a993abd [svn-r4607]
Purpose:
    Bug fix

Description:
    Add the overloaded member function Attribute::getName to return
    the attribute name's length as in C API.  This functionality was
    missing.  Note that the current getName that returns "string"
    is not removed, for different way of using getName.

Platforms tested:
    SunOS 5.7 (arabica)
2001-11-14 18:11:06 -05:00
Binh-Minh Ribler
e6dd69dc5f [svn-r4606]
Purpose:
    Fixing found bug
Description:
    A data file cannot be removed because the corresponding H5File object
    is still in existence, which means the data file is still opened.
Solution:
    Moved h5_cleanup to outside of the try block so that the H5File object
    will go out of scope and be destroyed before h5_cleanup attempts to
    remove the corresponding data file.
Platforms tested:
    SunOS 5.7 (arabica)
2001-11-14 18:08:21 -05:00
Quincey Koziol
82a49f072a [svn-r4603] Purpose:
Bug fix.
Description:
    The internal B-tree code was dumping core with an assertion failure when
    flushing data to the file if too many objects were put into the same B-tree
    (forcing the root node to split, I think).
Solution:
    Fixed the B-tree copy routine to copy the correct number of raw keys.
Platforms tested:
    FreeBSD 4.4 (hawkwind), Solaris 2.6 (baldric)
2001-11-12 15:11:42 -05:00
Quincey Koziol
4d46d69f2f [svn-r4602] Purpose:
Document bug fix.
Description:
    The internal B-tree code was dumping core with an assertion failure when
    flushing data to the file if too many objects were put into the same B-tree
    (forcing the root node to split, I think).
Solution:
    Fixed the B-tree copy routine to copy the correct number of raw keys.
Platforms tested:
    FreeBSD 4.4 (hawkwind), Solaris 2.6 (baldric)
2001-11-12 15:11:28 -05:00
HDF Admin
b3e09c1b66 [svn-r4599] Snapshot version 1.4 release 3 (snap6) 2001-11-10 07:45:39 -05:00
Albert Cheng
5612b2c83b [svn-r4581] Purpose:
New test feature
Description:
    Added create_faccess_plist() that create just MPIO or split+MPIO
    file-access property list.  This in turn can run parallel tests
    with just MPIO or with Split-file VFD too.
    Added -s option for split-file Plus MPIO tests.
    For testphdf5.c: removed a bunch of old debug code that got left
    in by mistake.
Platforms tested:
    Modi4 and eirene parallel.
    But it has uncovered errors in the library.  The test program
    is correct though.  Checking the test program in so that it won't
    get lost and can be used for debugging.  Also, the -s is not used
    by default during test.  At least it won't abort "make check".
2001-11-01 07:53:02 -05:00
HDF Admin
9e618ddea0 [svn-r4579] Snapshot version 1.4 release 3 (snap5) 2001-10-27 08:01:35 -05:00
Quincey Koziol
c6376bf706 [svn-r4577] Purpose:
Bug fix
Description:
    When compiled with the -g flag (for debugging), the incremental linker
    causes problems when building the H5detect utility.
Solution:
    Turn off the incremental linker (with the -xildoff flag) when compiling
    for debugging.
Platforms tested:
    Solaris 2.8/64 (houdin)
2001-10-26 10:57:11 -05:00
Frank Baker
48ced9fab2 [svn-r4575]
Purpose:
    Bugfix
Description:
    H5Awrite -- corrected final parameter type to 'const void'
Platforms tested:
    IE 5
2001-10-26 10:12:43 -05:00
Albert Cheng
c6dba899ba [svn-r4570] Purpose:
Improvement
Description:
    Removed the hard coding of all the test hosts.  Let it be defined
    in a file.
Platforms tested:
    Eirene
2001-10-24 13:06:47 -05:00
Quincey Koziol
6d4bd9f242 [svn-r4567] Purpose:
Bug Fix
Description:
    'big' test was not detecting that the AFS quota had been hit when running
    under FreeBSD.
Solution:
    Amending quota checking code to detect errors on file closes as well as
    opens, seeks and writes.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-10-23 14:39:01 -05:00
Quincey Koziol
36a616e54d [svn-r4566] Purpose:
Document recent changes
Description: (H5Shyper.c)
    H5S_select_hyperslab fails to correctly define a hyperslab when the space
    to put the hyperslab into is currently a 'none' selection and the hyperslab
    operation is the 'or' operation.
Solution: (H5Shyper.c)
    Detect the situation and internally modify the hyperslab operation to be
    a 'set' operation, since that's the next affect desired.

Description: (H5Spoint.c)
    H5S_select_elements is not actually putting the new point on the list of
    points selected when there are no points currently selected and the
    'append' operation is chosen.
Solution: (H5Spoint.c)
    Add new point to list correctly.

Platforms tested:
    FreeBSD 4.4. (hawkwind)
2001-10-23 14:38:22 -05:00
Quincey Koziol
ee2ecdfd48 [svn-r4565] Purpose:
Document recent changes
2001-10-23 14:32:50 -05:00
HDF Admin
d3c98956d2 [svn-r4559] Snapshot version 1.4 release 3 (snap4) 2001-10-20 02:26:17 -05:00
HDF Admin
d57f0c6f00 [svn-r4558] Purpose:
kludge
Description:
    Somehow if consecutive "rsh houdin -n ..." are issued too close,
    a "Connection refused" result.  Then /usr/local/krb5/rsh falls
    back to ordinary rsh protocal which of course won't work either.
Solution:
    if the houdin to be tested is houdin, wait for 5 seconds before
    launching the 'rsh ...' command.  Hopefully the system admin can
    fix the rsh problem.
Platforms tested:
    eirene talking to houdin.
2001-10-19 18:53:48 -05:00
Albert Cheng
4d7cdc099b [svn-r4555] Purpose:
Feature (actually a kludge)
Description:
    The old "setenv" option for the snaptest.cfg cannot handle
    if there are white spaces in the setenv value part.
    Added a "setenv2" that expects the value consists of 2 parts.
    A better solution (like can parse in double quoted values) is
    needed.
Platforms tested:
    eirene with houdin (solaris 2.7)
2001-10-19 00:20:32 -05:00
MuQun Yang
8680212739 [svn-r4552]
Purpose:
    The bug fix for debug dll tests when using all_withf90.zip.
Description:
Solution:
     change project setting and ignore msvcrt.lib. Tests passed.
Platforms tested:
      windows 2000.
2001-10-16 16:19:21 -05:00
Albert Cheng
585bef6575 [svn-r4549] Purpose:
Bug fix
Description:
    GASS nor gridstorage worked any more because SSL library testing
    was moved after them.
Solution:
    Moved SSL library to be tested before GASS or Gridstorage options
    are tested.  Also make the testing of SSL libraries default to
    no testing, so that it won't get activated unnecessarily.
Platforms tested:
    IRIX64 -64, serial and parallel.  (GASS driver needs globus
    software which is available in modi4 only.)
2001-10-16 16:08:38 -05:00
Albert Cheng
384a324c3f [svn-r4546] Description:
Revise the beginning comment block with "better" wording,
    at least better to me. :-)
Platforms tested:
    chkmanifest it in eirene.
2001-10-16 11:40:33 -05:00
HDF Admin
6747d0bdf3 [svn-r4541] Snapshot version 1.4 release 3 (snap3) 2001-10-13 06:22:55 -05:00
Elena Pourmal
385a9e678b [svn-r4539]
Purpose:
    Maintenance

Description:
    I never checked in correct project for the Fortran Release DLL
    test.
Platforms tested:
    Windows NT
2001-10-12 14:16:14 -05:00
MuQun Yang
15196fef95 [svn-r4538]
Purpose:
    update 1.4 branch of various bug fixes for windows support.
Description:
    1. intn to int and uintn to unsigned at H5Tinit.c
    2. test rearrangements or chunk, iopipe etc. to directory perform
    3. update testhdf5 and testhdf5dll for test configuration type test.
Solution:
Platforms tested:
    eirene, windows 2000
2001-10-10 13:02:00 -05:00
MuQun Yang
a2492924b1 [svn-r4537]
Purpose:
    change long long to long_long for windows support.
Description:
    See the discussion between Albert and Robb at hdf5 library list.
    Generally at H5private.h, long_long is defined to represent long long(most linux platforms),
    __int64(windows etc) and long int(other platforms). It is only used for checking the type
   in current hdf5 library.
Solution:
Platforms tested:
    linux, windows 2000
2001-10-10 12:54:29 -05:00
Elena Pourmal
3c2804d487 [svn-r4534]
Purpose:
    Bug fix
Description:
    On NERSC SP3 configure failed while trying to figure out
    how to print long long.
Solution:
    Added the following line
    hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
Platforms tested:
    NERSC SP3
2001-10-09 14:37:11 -05:00
Elena Pourmal
5ccd70d6d9 [svn-r4533]
Purpose:
    Fix Bill's "Major Hack" for NERSC seaborg machine
Description:
    Bill's fix was based on the machine name. NERSC SP3 gseaborg
    was renamed to seaborg.
Solution:
    Fixed the name.
Platforms tested:
    NERSC SP3
2001-10-09 14:34:19 -05:00
Quincey Koziol
86f0af5b86 [svn-r4532] Purpose:
Update docs
Description:
    H5Dread and H5Dwrite description contained some inaccurate information about
    how H5S_ALL works as a parameter for the memory and file dataspaces.
Solution:
    Updated information to reflect current library behavior for H5S_ALL.
2001-10-08 10:41:55 -05:00
HDF Admin
d981535014 [svn-r4530] Snapshot version 1.4 release 3 (snap2) 2001-10-06 06:24:47 -05:00
Albert Cheng
bb3ed31975 [svn-r4515] Purpose:
Feature (tested in v1.5)
Description:
    Recognize command line argument in the form of '--*' as
    a configure command option by default.  Since all normal
    configure options are in the form of '--*', this will
    simplify the "op-configure <option>" syntax.  The latter
    syntax is still kept in case one would want to pass in
    some configure argument that does not fit this syntax.
Platforms tested:
    Tested by daily test in 1.5.
2001-10-03 02:05:24 -05:00
Quincey Koziol
17c38f5297 [svn-r4512] Purpose:
Test bug fix.
Description:
    When reading or writing to chunked datasets and the data needed datatype
    conversion, and the amount of data was more than one conversion buffer,
    data in the conversion buffer was getting corrupted.
Solution:
    Corrected error in advancing buffer pointer where it was being advanced
    by the number of elements instead of the number of bytes.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-10-02 11:59:50 -05:00
Quincey Koziol
990b8cb1bc [svn-r4511] Purpose:
Document bug fix.
Description:
    When reading or writing to chunked datasets and the data needed datatype
    conversion, and the amount of data was more than one conversion buffer,
    data in the conversion buffer was getting corrupted.
Solution:
    Corrected error in advancing buffer pointer where it was being advanced
    by the number of elements instead of the number of bytes.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-10-02 11:59:29 -05:00
Quincey Koziol
edd0e463c4 [svn-r4510] Purpose:
Document bug fix.
2001-10-02 11:58:41 -05:00
Quincey Koziol
cf8510079f [svn-r4504] Purpose:
Document feature fix.
Description:
    Single, contiguous (in memory) hyperslabs are able to be transferred in one
    I/O operation, but weren't being detected correctly by the code in
    H5S_all_read()/H5S_all_write() and were getting routed into slower I/O
    routines.  (Or, possibly failing in some circumstances)
Solution:
    Wrote code to correctly detect single contiguous hyperslabs in memory and
    adjust arrays and buffer pointers describing the memory information so that
    the entire hyperslab can be transferred in one operation.
Platforms Tested:
    FreeBSD 4.4 (hawkwind)
2001-10-01 10:40:49 -05:00
Quincey Koziol
6d312352f3 [svn-r4503] Purpose:
Document feature fix.
2001-10-01 10:35:51 -05:00
Bill Wendling
7264bc17ba [svn-r4500]
Purpose:
    Feature Add
Description:
    Add the output of the configure summary to the libhdf5.settings file.
Platforms tested:
    Modi4 Linux
2001-09-28 16:10:09 -05:00
Bill Wendling
bfaf55ffd2 [svn-r4498]
Purpose:
    Final Fix
Description:
    Fixed the summary newline bug.
Solution:
    Added the '\c' flag if needed.
Platforms tested:
    Modi4 Linux
2001-09-28 15:32:26 -05:00
Quincey Koziol
6e840256ea [svn-r4496] Purpose:
Bug fix.

Problem:
    When an entire dataset was selected (through whatever means, H5S_ALL, making
    an explicit "all" selection, etc.), the code was not allowing the optimized
    routine to read the entire dataset in at once when the current dimensions
    did not match the maximum dimensions and instead was defaulting to a [much]
    slower method to read in the dataset.

Solution:
    Took out check which was requiring current dimensions to be equal to the
    maximum dimensions.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-28 14:47:11 -05:00
Quincey Koziol
1524492673 [svn-r4495] Purpose:
Document bug fix
Platforms tested:
    Eyeballed...
2001-09-28 14:46:43 -05:00
Quincey Koziol
debe2c65e8 [svn-r4492] Purpose:
Bug Fix
Description:
    When writing (or reading) the entire dataset to a chunked dataset, there
    was a boundary case where the code to generate the description of the
    piece of the dataset to read into the buffer for data conversion would
    attempt to read off the boundary of the dataset.  This was occuring because
    the code to detect the edge of the dataset was not propagating the change
    up through the remaining dimensions when an edge in a fast changing
    dimension was detected.
Solution:
    Propagate edge detection up through slower changing dimensions properly.
Platforms tested:
    Linux 2.2.18smp (eirene)
2001-09-28 14:11:22 -05:00
Quincey Koziol
f76e0e8eeb [svn-r4491] Purpose:
Document bug fix
Description:
    Mention the edge detection chunking bug fix.
2001-09-28 14:10:37 -05:00
Bill Wendling
154d36d399 [svn-r4486]
Purpose:
    Bug Fix
Description:
    Stupid error where the "echo -n" doesn't work on all platforms (like
    AIX).
Solution:
    Copied the code which configure uses to determine if echo can handle
    the "-n" flag and set it appropriately.
Platforms tested:
    Linux
2001-09-27 17:49:31 -05:00
cvs2svn
48948d51b9 [svn-r4483] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-09-27 08:49:26 -05:00
Albert Cheng
413ed626c5 [svn-r4481] Purpose:
Feature (same as v1.5)
Description:
    Updated with the added feature of H5Pset_fapl_split.  Added
    two examples too.
Platforms tested:
    IE 5 plus eyeball.
2001-09-26 09:46:59 -05:00
Albert Cheng
22a628fddf [svn-r4480] Updated with changes of H5Pset_split and the new test of configure. 2001-09-26 09:20:03 -05:00
Albert Cheng
534de32ead [svn-r4479] Updated. 2001-09-26 09:19:22 -05:00
Albert Cheng
5884b86915 [svn-r4478] Purpose:
New feature.
Description:
    Added a test to verify the correctness of information provided by
    configure in H5config.h.  Some information, such as SIZEOF some
    types can be hardcoded by config/<machine>.  This test verified
    the information is indeed correct.
    Currenly, only size of C language types are verified.
Platforms tested:
    eirene.  (Same code has been tested in v1.5)
2001-09-26 09:18:28 -05:00
Albert Cheng
45a7ae09d2 [svn-r4477] Purpose:
Feature (same as v1.5)
Description:
    The H5Pset_fapl_split() used to assume both meta and raw files
    have the same prefix name.  This prohibited the option to specify
    the two files reside on different file systems.  E.g., having
    meta-file as /user/home/data1.meta and raw-file as /pfs/data1.raw.
Solution:
    Added feature that if the raw or meta extension string contains
    a "%s", it will be substituted by the filename given for H5Fopen
    or H5Fcreate.  This is same as the multi-file syntax.  If no %s
    is found, one is inserted at the beginning.  This is the previous
    behavior.
Platforms tested:
    Modi4 (parallel, serial) and eirene (parallel).
2001-09-26 09:16:37 -05:00
Bill Wendling
530a55bbcd [svn-r4470]
Purpose:
    Bug Fix
Description:
    Some platforms which have a "Bourne" shell (/bin/sh) have ones which
    don't support the "let" operator.
Solution:
    Had to remove my clever hack and replace with boring, old "echo -n"
    statements instead. *sigh*
Platforms tested:
    Linux
2001-09-24 11:51:42 -05:00
HDF Admin
7a8eb55bce [svn-r4468] Snapshot version 1.4 release 3 (snap1) 2001-09-22 05:06:35 -05:00
Bill Wendling
7723c47327 [svn-r4463]
Purpose:
    Bug Fix
Description:
    The test for thread safe errors was using hardcoded numbers instead
    of the "enum" value for the various errors it expected.
Solution:
    Changed to use the enum value instead.
Platforms tested:
    Linux
2001-09-18 15:04:19 -05:00
Bill Wendling
f833aa3801 [svn-r4459]
Purpose:
    Small Bug Fix
Description:
    Macros weren't doing what I wanted them to do in reguards to the ZLIB
    stuff.
Solution:
    Removed the conditional code and placed it outside of the macro.
Platforms tested:
    Linux
2001-09-18 14:25:13 -05:00
Bill Wendling
9462957e21 [svn-r4458]
Purpose:
    Feature add
Description:
    Added a summary report to the configure script. After it's done
    configuring things, it'll issue a summary.

    Neat!
Platforms tested:
    Linux
2001-09-18 13:18:37 -05:00
Bill Wendling
17eba80677 [svn-r4457]
Purpose:
    "Bug" Fix
Description:
    Windows can't handle large strings.
Solution:
    Separated the usage string into smaller strings so that Windows won't
    barf.
Platforms tested:
    Linux
2001-09-18 13:12:05 -05:00
Albert Cheng
0f4e6338f9 [svn-r4453] Updated. 2001-09-18 01:00:48 -05:00
Albert Cheng
57e73c4258 [svn-r4452] Purpose:
Feature
Description:
    Added an example program showing how to use different virtual
    file drivers.  First example is to show the Split File driver.
Platforms tested:
    eirene.
2001-09-18 00:58:28 -05:00
cvs2svn
05011309d7 [svn-r4451] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-09-18 00:58:28 -05:00
MuQun Yang
82127ccd71 [svn-r4447]
Purpose:
     a bug fix
Description:
     Forget adding one line for "This creates a
      directory called 'hdf5xxx'under MyHDFstuff which contains
      several files and directories. "

Solution:
    should be "This creates a
      directory called 'hdf5xxx'under MyHDFstuff which contains
      several files and directories. Rename directory "hdf5xxx" into
      "hdf5".
Platforms tested:
    eirene
2001-09-17 17:15:07 -05:00
HDF Admin
d09e257551 [svn-r4442] Snapshot version 1.4 release 3 (snap0) 2001-09-15 04:24:35 -05:00
Bill Wendling
5ab3289b97 [svn-r4441]
Purpose:
    Feature Add
Description:
    Added description of the H5CC script.
Platforms tested:
    Mozilla
2001-09-13 12:15:55 -05:00
Bill Wendling
9d7aa28b5a [svn-r4440]
Purpose:
    Feature Add
Description:
    Added description of H5CC tool.
2001-09-13 12:13:11 -05:00
Albert Cheng
ebc3c0980a [svn-r4436] Purpose:
New feature.
Description:
    Test programs were assumed to be serial programs only.
    There was no provision to test parallel programs automatically.
Solution:
    Added $(TEST_PARA_PROGS) to hold parallel test programs and
    added appropriate action entry to test them if defined.
Platforms tested:
    Eirene (parallel, serial).
2001-09-10 23:56:54 -05:00
Albert Cheng
1ebf933310 [svn-r4435] Purpose:
Bug fix.
Description:
    The default file name used is /foo/test.out that usually
    is not legal.  Changed it to /tmp/test.out.
Platforms tested:
    eirene (parallel).
2001-09-10 23:55:19 -05:00
Albert Cheng
dbd148cb94 [svn-r4431] Purpose:
Bug fix.
Description:
    Did not update the expected strings for result of grand total test
    time.  Causing a false report of test failed to complete.
Solution:
    Update the strings.
Platforms tested:
    Eirene and modi4.
2001-09-09 22:52:10 -05:00
Albert Cheng
1fc0f979f5 [svn-r4429] Description:
Added a feature to print total test time spent in a host in
    addition to individual test time.
Platforms tested:
    eirene, modi4, baldric.
2001-09-08 12:01:21 -05:00
Albert Cheng
6012348fd1 [svn-r4427] Purpose:
Bug fix
Description:
    The previous coding using sed was not portable for all Unix
    systems.  Much easier to use 'cut' to parse the strings.
Platforms tested:
    eirene
2001-09-06 00:27:36 -05:00
Bill Wendling
bdc85259c7 [svn-r4426]
Purpose:
    Regeneration
Description:
    Regenerated the configure file after the changes to the configure.in
    were added.
2001-09-04 17:57:39 -05:00
Quincey Koziol
28078f9075 [svn-r4425] Purpose:
Thread-safety Bug Fixes
Description:
    FreeBSD must use a different layout or mechanism for allocating objects on
    the stack when compiling for thread-safe operation.  Unused bits in 'long
    double' variable are never used ('long double's on FreeBSD are stored in
    12 bytes, but only use 10 bytes for computations), but set to different
    values, causing the endianness permutation testing to generate incorrect
    results and eventually fail an assertion.
Solution:
    Clear the temporary variables used for determining the endianness permutatio
    with memset (affecting all 12 bytes) instead of just assigning a 0.0 to them
    (affecting only 10 bytes)
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-04 16:24:44 -05:00
Quincey Koziol
a0aaa03f83 [svn-r4424] Purpose:
Portability Bug Fixes
Description:
    FreeBSD wants the -pthread flag on both the compile and link lines.  Also,
    the cipher library is required for certain threading features and needs to
    be linked in.
Solution:
    Add the -pthread to the compile line and the cipher library to the list of
    libraries.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-04 16:23:59 -05:00
Albert Cheng
8fc68d3d4a [svn-r4420] Description:
Added a new feature that allows an test configure runs on a certain
    day of the week (Mon, ..., Sun)
Platforms tested:
    eirene.
2001-09-04 13:42:03 -05:00
HDF Admin
bf4e2659d2 [svn-r4417] Purpose:
Bug fix
Description:
    when a snaptest did not complete, it reported it as a failure
    of the launching host, rather than the testing host.
    Changed it to report the testing host.
2001-08-31 10:10:53 -05:00
Bill Wendling
c3ce73d15a [svn-r4416] Purpose:
Bug Fix
Description:
    On some SGI machines (or, rather, it was showing up there), the
    /usr/ncsa/lib directory was being placed before the other directories
    in the linker line. This was causing the linker to link in
    alternative HDF5 libraries than the test library.
Solution:
    Modified my previous hack so that it puts the $rpath macro at the
    end, since those are the ones we're passing into the libtool function
    (in the DYNAMIC_DIRS macro).
Platforms tested:
    Paz
2001-08-28 17:36:24 -05:00
Bill Wendling
32dd71e593 [svn-r4413]
Purpose:
    Feature add.
Description:
    Added the H5CC program to the 1.4 branch.

        - Added to hdf5/tools/misc
        - Included in the configure.in script.
        - Added fix to configure.in which conditionally looks for the ssl
          and crypto libraries only if GASS or GRIDSTORAGE is being used.
        - Added to MANIFEST.
        - Needed to include a fix for the H5private.h header which was
          already in the 1.5 branch. It was having troubles with the way
          strdup() was being declared.
Solution:
    For the strdup() problem, just synced that part of the H5private file
    with the one in the 1.5 branch.
Platforms tested:
    Linux
2001-08-27 13:41:43 -05:00
HDF Admin
4cf4a5bb85 [svn-r4411] Purpose:
Improved format of failures reporting.
Platforms tested:
    eirene, premium, modi4.
2001-08-27 11:01:41 -05:00
MuQun Yang
7dee9107b4 [svn-r4409]
Purpose:
    Add two items related to h4toh5 converter in known problem since these two bugs are fixed.
Description:
Solution:
Platforms tested:
2001-08-24 12:02:04 -05:00
Albert Cheng
e978b1f72f [svn-r4404] Purpose:
Feature
Description:
    Changed some output format.
    Improved the CHECK_RSH to better report the result when failed.
Platforms tested:
    eirene with nosuch and shalom. (made sure failures do occur)
2001-08-21 18:41:07 -05:00
Bill Wendling
07a7d67d2e [svn-r4403]
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:48 -05:00
Albert Cheng
1048edca14 [svn-r4400] Description:
slight change of output format.
2001-08-20 22:30:19 -05:00
Albert Cheng
c80540f99e [svn-r4398] Purpose:
Code cleanup
Description:
    This was "thrown" together in a quick way to test MPIO functionality.
    Cleaned out some embrassingly useless declaration to reduce compiler
    warnings.
Platforms tested:
    modi4-pp and eirene-pp.
2001-08-20 15:05:34 -05:00
Quincey Koziol
0d18eda03f [svn-r4394] Purpose:
Bug Fix
Description:
    Byte swapping routine was failing when attempting to convert 0 elements.
Solution:
    Don't try to swap when there are no elements... :-)
Platforms tested:
    Solaris 2.7 (arabica)
2001-08-20 12:26:13 -05:00
Quincey Koziol
45d5150960 [svn-r4391] Purpose:
Bug fix.
Description:
    Byte swapping algorithm wasn't converting the last 8 elements correctly.
Solution:
    Used correct variable... :-)
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-18 20:01:15 -05:00
Quincey Koziol
22f2680e87 [svn-r4389] Purpose:
Update docs.
Description:
    Mention change to H5Awrite API from a "void *" to a "const void *"
2001-08-18 17:39:33 -05:00
MuQun Yang
69c826da46 [svn-r4388]
Purpose:
    Add a new test file.
Description:
Solution:
Platforms tested:
     eirene
2001-08-18 11:25:45 -05:00
MuQun Yang
74e21d7249 [svn-r4386]
Purpose:
    update h4toh5test.c to avoid CVS conflict
Description:
Solution:
Platforms tested:
2001-08-17 22:01:42 -05:00
MuQun Yang
59791dedb9 [svn-r4385]
Purpose:
    change a test file
Description:
Solution:
Platforms tested:
     eirene
2001-08-17 18:16:29 -05:00
MuQun Yang
dd4e89adcc [svn-r4384]
Purpose:
    add a real raster-24 bit testing for interlace mode.
    fix a bug
    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.
    3. 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.
    4. 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:
     RedHat Zoot 6.2, sol 2.7
2001-08-17 18:13:03 -05:00
MuQun Yang
4eeb6d31cb [svn-r4383]
Purpose:
 Change testing files
Description:
    [describe the bug, or describe the new feature, etc]
Solution:
    [details about the changes, algorithm, etc...]
    [Please as detail as you can since your own explanation is
    better than others guessing it from the code.]
Platforms tested:
    [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 18:05:35 -05:00
cvs2svn
0b534a9070 [svn-r4381] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-08-17 18:04:06 -05:00
MuQun Yang
6841719034 [svn-r4380]
Purpose:
 Add another testing file
Description:
Solution:
Platforms tested:
2001-08-17 18:02:37 -05:00
Quincey Koziol
d8b1d99837 [svn-r4379] Purpose:
Doc update.
Description:
    Noted performance increase in byte-swapping during data conversions.
2001-08-17 17:28:21 -05:00
Quincey Koziol
6c8e0d20a8 [svn-r4378] Purpose:
Code improvement
Description:
    The byte swapping routine for data conversion was inefficient.
Solution:
    Applied a number of optimizations which should yield around a 2-3 times
    faster algorithm.
Platforms tested:
    Solaris 2.6 (baldric)
2001-08-17 17:16:51 -05:00
Albert Cheng
3d1fa79185 [svn-r4367] Purpose:
updated
Platforms tested:
    bin/chkmanifest
2001-08-16 11:15:10 -05:00
Albert Cheng
7435b15a39 [svn-r4365] Purpose:
cleanup
Description:
    chunk, iopipe and overhead have been moved to perform/.
Platforms tested:
    eirene(PP).
2001-08-16 00:37:09 -05:00
Quincey Koziol
84162bd521 [svn-r4361] Purpose:
Code cleanup
Description:
    Changed prototype for H5Awrite's buffer from "void *" to "const void *"
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-15 13:04:39 -05:00
Quincey Koziol
81cde8e325 [svn-r4360] 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).

    (Merged from the same changes to development branch)

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

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-15 09:54:05 -05:00
Albert Cheng
44b651ac6c [svn-r4358] Updated.
cvS: ----------------------------------------------------------------------
2001-08-14 17:38:31 -05:00
Albert Cheng
72e4545154 [svn-r4357] Purpose:
new feature
Description:
    Added perform programs to test the HDF5 library performance.  Programs
    are installed in directory perform/.
Platforms tested:
    eirene
2001-08-14 17:37:24 -05:00
cvs2svn
74d347f046 [svn-r4356] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-08-14 17:37:24 -05:00
HDF Admin
b42fb1d3bb [svn-r4340] Purpose:
Changed the wording of test results.
Platforms tested:
    eirene, dangermouse.
2001-08-14 10:54:02 -05:00
MuQun Yang
6ea6c78914 [svn-r4336]
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 (eirene)
2001-08-13 14:15:40 -05:00
MuQun Yang
c049f11d01 [svn-r4335]
Purpose:
    change image test files to fulfill HDF5 image specification.

Description:
Solution:
Platforms tested:
RedHat Zoot 6.2
2001-08-13 14:13:30 -05:00
HDF Admin
03f31f2cfd [svn-r4331] Purpose:
New feature
Description:
    Added a positive report of test completed by reporting them
    to SUCCEED_LOG_<date>.
Platforms tested:
    eirene, dangermouse.
2001-08-13 11:31:57 -05:00
HDF Admin
c76f6074b5 [svn-r4328] Snapshot version 1.4 release 2 (post0) 2001-08-11 03:47:41 -05:00
Albert Cheng
754e8057e7 [svn-r4322] Purpose:
Update modification history of the H5Eprint().  No code changes.
Platforms tested:
    eirene.
2001-08-07 11:05:32 -05:00
Albert Cheng
5a205433fe [svn-r4320] Purpose:
updated to indicate it is 1.4.2-post0 version
2001-08-06 18:46:05 -05:00
Albert Cheng
e31224e3c3 [svn-r4319] Purpose:
Recommitted all changes since 1.4.2 release.  This is needed
    because I had to commit a version of exactly when 1.4.2 was
    released.
2001-08-06 18:38:44 -05:00
Albert Cheng
d94c240804 [svn-r4317] Purpose:
This version is the one got released as 1.4.2.
    Committed it to prepare for retagging it for version 1.4.2 release.
2001-08-06 18:24:21 -05:00
Bill Wendling
a0ef015222 [svn-r4316]
Purpose:
    Feature Fix
Description:
    Fixed description of the --filedriver flag.
Platforms tested:
    Linux
2001-08-06 12:55:13 -05:00
Bill Wendling
1a70ff3480 [svn-r4314]
Purpose:
    Feature Add
Description:
    Added description of the --filedriver flag for the h5dump program.
Platforms tested:
    Lynx
2001-08-06 12:25:46 -05:00
Quincey Koziol
69eceacda1 [svn-r4309] Purpose:
Bug fix
Description:
    H5FD_fapl_copy is being called in H5Pset_driver when copying a dataset
    transfer property list instead of H5FD_dxpl_copy and could potentially
    cause problems if the file driver information was different.
Solution:
    Changed call to H5FD_dxpl_copy()
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-08-02 16:17:52 -05:00
Bill Wendling
e7f24ebee3 [svn-r4308]
Purpose:
    Bug Fix
Description:
    Back ported the bug fix which handles the "long long" type in
    HDfprintf().
Platforms tested:
    Linux
2001-08-02 15:46:24 -05:00
Bill Wendling
34fa342bab [svn-r4307]
Purpose:
    Sync
Description:
    Brought into sync with the 1.5 branch. This included the fix for the
    new h5tools_fopen() call. It now accepts the parameter for specifying
    a filedriver.
Platforms tested:
    Linux
2001-08-02 12:57:12 -05:00
Bill Wendling
f303405aee [svn-r4306]
Purpose:
    Back port of Feature Add
Description:
    Added the feature to specify which driver you want for the H5dumper
    using the command-line flag "-f D or --filedriver=D".
Platforms tested:
    Linux
2001-08-02 12:54:38 -05:00
Bill Wendling
0b850332e9 [svn-r4305]
Purpose:
    Back-port of Bug Fix
Description:
    Back port of hte bug fix for matching anything when we really only
    wanted to match a ".".
Solution:
    Escaped the "." with "\." in the matching string.
Platforms tested:
    Linux
2001-08-02 12:27:56 -05:00
Bill Wendling
f45e4b1f94 [svn-r4297]
Purpose:
    Regeneration of Dependencies files
Description:
    Regenerated Dependencies files with "make Dependencies"
2001-08-01 17:01:44 -05:00
Bill Wendling
3a2ea401c5 [svn-r4296]
Purpose:
    Bug Fix
Description:
    The version checking was messing up because -post0 wasn't appended to
    the version string.
Solution:
    Added the "-post0" to the end of the version string.
Platforms tested:
    Linux
2001-08-01 16:54:00 -05:00
Bill Wendling
90ab7aaaff [svn-r4295]
Purpose:
    Back-port of Bug Fix
Description:
    Back port from the 1.5 branch of the .depend/Dependencies files
    generation bug. (When the $srcdir et.al. macros began with a ".",
    they were lopping off the first character of a header file's path).
Platforms tested:
    Linux
2001-08-01 16:16:47 -05:00
cvs2svn
40e63a9a7c [svn-r4294] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-08-01 16:16:47 -05:00
Elena Pourmal
ae1a03b8f4 [svn-r4291]
Purpose:
    Maintenance for hdf5-1.4.2-post0
Description:
    Modified subrelease version string to be "post0"
2001-08-01 13:06:55 -05:00
Elena Pourmal
9b23890d91 [svn-r4290]
Purpose:
    Maintenance for the hdf5-1.4.2-post0
Description:
    Added information about hdf5-1.4.2 release to the HISTORY.txt
    Modified RELEASE.txt for hdf5-1.4.2-post0 (or whatever it shoud be after 1.4.2)
2001-08-01 13:05:39 -05:00
Bill Wendling
4c1e8fe1fe [svn-r4289]
Purpose:
    Bug Fix
Description:
    Mentioned that Parallel HDF5 is available on Linux platforms. Also
    removed the statement that Parallel HDf5 is available on HPUX V Class
    machines (it failed the tests. Only serial mode is available).
Platforms tested:
    Optical Scan
2001-08-01 12:40:42 -05:00
Quincey Koziol
ef1e79b42b [svn-r4287] Purpose:
Bug Fix
Description:
    H5Pset_driver had a resource leak which was dropping dataset transfer IDs
    when switching drivers.
Solution:
    Decrement dataset transfer ID reference count properly
Platforms tested:
    IRIX64 6.5 (modi4)
2001-07-31 17:23:16 -05:00
Quincey Koziol
ce28d20976 [svn-r4285] Purpose:
Bug Fix
Description:
    Header file is using incorrect macro for detecting parallel I/O when
    backward compability is turned on.
Solution:
    Fix header files to define prototypes for parallel I/O property list
    functions when compiled with v1.2 backward compatibility turned on.
Platforms tested:
    Eyeballed... (Elena will be testing shortly)
2001-07-31 12:24:56 -05:00
Quincey Koziol
657ff95e96 [svn-r4279] Purpose:
Additional test
Description:
    Added metadata cache abuser code to the 'timings' target in the tests.
Platforms Tested:
    FreeBSD 4.3 (hawkwind)
2001-07-30 14:52:34 -05:00
Quincey Koziol
22d5dc1ee4 [svn-r4278] Purpose:
Include new 'testmeta' source
2001-07-30 14:47:43 -05:00
Quincey Koziol
95a8875013 [svn-r4277] Purpose:
Bug Fix
Description:
    In certain circumstances, raw data was inadvertantly attempted to be read
    from the metadata cache.  This was caught with an assertion failure (i.e.
    core dump) in the development branch or an eventual sequence of errors in
    the release branch.
Solution:
    Corrected off-by-one error in metadata caching code.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-07-30 13:57:55 -05:00
Bill Wendling
e1d58d1a9a [svn-r4274]
Purpose:
    Bug Fix
Description:
    When compiling with a C++ compiler, the compiler would balk at
    finding some file drivers.
Solution:
    We need to put this:

        #ifdef __cplusplus
        extern "C" {
        #endif

            /* ... */

        #ifdef __cplusplus
        }
        #endif

    around function declarations.
2001-07-30 12:01:54 -05:00
Frank Baker
5f1c3a0fb9 [svn-r4273] Description:
H5check_version:  Added note that if 2nd-level check fails, library
      issues warning but function does not fail.  Copy edits.
Platforms tested:
    IE 5
2001-07-30 09:38:02 -05:00
Albert Cheng
3eea878166 [svn-r4272] Purpose:
revised/updated for 1.4.2 release
Platforms tested:
    Eyeballed.
2001-07-30 03:45:24 -05:00
Albert Cheng
162e324e82 [svn-r4271] Purpose:
Revised the section of H5check_version().
Platforms tested:
    IE 5 displayed.
2001-07-30 03:35:45 -05:00
MuQun Yang
b892ecdbf9 [svn-r4269]
Purpose:
    update another known problem for h4toh5 converter
Description:
Solution:
Platforms tested:
   eirene
2001-07-26 15:11:22 -05:00
MuQun Yang
e5640f5e79 [svn-r4268]
Purpose:
    update release.txt for h4toh5 features
Description:
Solution:
Platforms tested:
2001-07-26 11:49:46 -05:00
MuQun Yang
4eed8f4cca [svn-r4267]
Purpose:
   delete a debug printf line
Description:
Solution:
    will not affect anything
Platforms tested:
   eirene
2001-07-26 11:10:30 -05:00
Raymond Lu
8e1730d75c [svn-r4266]
Purpose:
    Update Information
Description:
    Added "IRIX 6.5 fails to compile configured with --enable-static-exec"
    information.
2001-07-26 10:22:38 -05:00
Frank Baker
f348d50d97 [svn-r4265] Description:
In Documentation --
        Added "new Image Spec (V1.2)" entry
        Revised H5T_c*_t structs entry
2001-07-26 10:04:55 -05:00
Elena Pourmal
a5d11feba3 [svn-r4264]
Purpose:
    Maintenance
Description:
    File described 1.4.0 release. Changed it to be 1.4.2
2001-07-26 09:37:49 -05:00
Bill Wendling
4a23124301 [svn-r4263]
Purpose:
    Bug Fix
Description:
    Linux 2.4.x supports parallel C mode.
Solution:
    Noted that in the document.
2001-07-25 15:24:09 -05:00
Elena Pourmal
0585cfc56d [svn-r4262]
Purpose:
    Maintenance for the hdf5-1.4.2 release
Description:
    I added new file INSTALL_Windows_withF90.txt to the release_docs
    directory
2001-07-25 12:06:44 -05:00
Elena Pourmal
dfb660da4a [svn-r4261]
Purpose:
    Maintenance
Description:
    I added new entry for INSTALL_Windows_withF90.txt in the release_docs
    directory
Platforms tested:
    Solaris 2.7 with bin/chkmanifest script
2001-07-25 12:05:49 -05:00
Frank Baker
c16809de29 [svn-r4260] Description:
Expanded F90 APIs note in "New Features"
    Listed major changes in "Documentation"
    Revised Windows entries in "Tested Platforms"
    In "Known Problems" --
        Added "memory leak when overwriting datasets with VL datatype" bug
        Added note regarding failure of h5ls test on SV1
        Removed reference to "Release 1.4.0 Known Problems" list
2001-07-25 10:57:34 -05:00
Frank Baker
8f4ca8da68 [svn-r4259] Purpose:
Adding Cray SV1 compiler versions (for R1.4.2)
2001-07-25 09:41:25 -05:00
Frank Baker
71a882c91f [svn-r4258] Purpose:
Basically copy edits.
Platforms tested:
    IE 5
2001-07-24 18:10:43 -05:00
Frank Baker
8bf64755a9 [svn-r4257] Purpose:
Updated OS and compiler versions in "Platforms Tested" section.
    Expanded list to include current platforms.
Platforms tested:
    Purely visual.
2001-07-24 17:49:19 -05:00
Frank Baker
13484bf3ef [svn-r4256] Purpose:
Added h52gif and gif2h5.
Platforms tested:
    IE 5
2001-07-24 17:42:38 -05:00
Frank Baker
be64a4c2ad [svn-r4255]
Purpose:
    Update
Description:
    Updated H5check_version per Albert's recent expansion of the
    source code comments.
Platforms tested:
    IE 5
2001-07-24 17:36:42 -05:00
Albert Cheng
02f66931ea [svn-r4251] Purpose:
document update
Description:
    The information of setting SGI_ABI seemed to confuse some user.
    Removed it since it is extra information in addition to the
    preferred method of "CC=... ./configure".
    Experienced user in IRIX64 would know that option.
Platforms tested:
    Eyeballed.
2001-07-20 18:07:13 -05:00
Frank Baker
c591c17a5a [svn-r4250] Purpose:
Link in "Supported Configuration Features Summary" table.
Description:
    Added link to SuppConfigFeats.142Final.html on HDF web server.
Platforms tested:
    IE 5
2001-07-20 17:12:19 -05:00
Frank Baker
964549b935 [svn-r4249] Purpose:
Bugfix
Description:
    RM_H5T.html
    Datatypes.html
        Reworked H5T_conv_t description in both.
        Added H5T_cdata_t struct definition to both.
        Details in Datatypes.html; structs and pointer in RM_H5T.html.
Tested:
    IE 5
2001-07-20 17:08:20 -05:00
Elena Pourmal
fffa7202b2 [svn-r4248]
Purpose:
    Maintenance for hdf5-1.4.2 release
Description:
    Changes version number to 1.4.2 for the upcoming final
    testing and release (bin/h5vers -s has been used)
2001-07-20 13:03:59 -05:00
Quincey Koziol
fb1b6d411f [svn-r4247] Purpose:
Code cleanup
Description:
    H5_inline is not being defined on certain machines, causing compile
    failures.
Solution:
    If H5_inline is not defined yet, define it to a null value.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-07-20 12:42:03 -05:00
Quincey Koziol
f06ac19488 [svn-r4246] Purpose:
Code cleanup
Description:
    Don't include code in H5pubconf.h to undef inline.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-07-20 12:41:09 -05:00
Frank Baker
3ba44a43f5 [svn-r4244] Purpose:
Removed link to non-existent description of non-existent F90
    function h5gget_objinfo_f.
Platforms tested:
    IE 5
2001-07-20 10:48:01 -05:00
Frank Baker
4bbf35b6d8 [svn-r4243] Purpose:
Minor copy-edit on preceding checkin.  (Which error I discovered
    during checkin, too late to abort!)
2001-07-20 10:21:54 -05:00
Frank Baker
9e8d499a45 [svn-r4242] Purpose:
Add "Supported Configuration Features Summary" table
    (broken into 2 tables to fit within the 80-column format).
2001-07-20 10:17:32 -05:00
Frank Baker
2acb2bbb6b [svn-r4237] Purpose:
Editorial pass
Platforms tested:
    Visual inspection in vi
2001-07-18 16:10:47 -05:00
Elena Pourmal
eac318ba04 [svn-r4235]
Purpose:
    Improvement
Description:
    In production mode configure adds -g to compilation flags.
Solution:
    Used Albert's solution to define CFLAGS to get rid of the -g flag
Platforms tested:
    IBM SP3 (Nersc gseaborg)
2001-07-18 15:48:37 -05:00
Elena Pourmal
3d644774c3 [svn-r4234]
Purpose:
    Bug fix
Description:
    Last time by mistake I commited a wrong file
Solution:
    Always check files into CVS from the directory where actual tests run.
Platforms tested:
    gondolin
2001-07-17 19:34:10 -05:00
Bill Wendling
05e81f551d [svn-r4233]
Purpose:
    Bug Back Port
Description:
    HP-UX 11 needs the nsl library.
Solution:
    Include a check for HPUX 11 when determining if nsl is needed.
Platforms tested:
    Kelgia and VClass machines
2001-07-17 16:34:34 -05:00
Elena Pourmal
27ded6c538 [svn-r4229]
Purpose:
    Improvement
Description:
    On DEC UNIX configure adds -g flag in production mode
Solution:
    Used Albert's fix for SPs to eliminate the flag.
Platforms tested:
    gondolin (both production and debug modes)
2001-07-17 15:18:16 -05:00
Albert Cheng
53f425a001 [svn-r4227] Purpose:
Feature
Description:
    Added the feature that ALLHOSTS can be set via the file
    allhostfile in the snapshot directory.  This reduces the
    need to modify runtest for hosts changes.
Platforms tested:
    eirene (did dry runs).
2001-07-17 09:32:13 -05:00
Elena Pourmal
f594637c83 [svn-r4226] Snapshot version 1.4 release 2 (pre3) 2001-07-16 19:10:33 -05:00
Elena Pourmal
d70a29d088 [svn-r4225]
Purpose:
    Maintenance
Description:
    Deleted ./fortran/config/powerpc-ibm-aix4.2.1.0 and ./fortran/config/powerpc-ibm-aix4.3.2.0
    See previous log message from Albert.
Platforms tested:
    arabica
2001-07-16 18:36:26 -05:00
Albert Cheng
8fead7436e [svn-r4224] Purpose:
Improvement
Description:
    Added the patch so that it does not automatically set
    CFLAGS to "-g", thus creating bigger object codes.
Platforms tested:
    Should work and Elena said commit it.  It is her problem anyway.
2001-07-16 17:18:40 -05:00
Albert Cheng
aee5bdb149 [svn-r4223] Purpose:
Improvement
Description:
    Combined all powerpc-ibm config files into one.
    Added parallel fortran configuration stuff in it too.
Platforms tested:
    LLNL Blue (parallel)
2001-07-16 16:55:39 -05:00
Albert Cheng
9983177ee4 [svn-r4222] Purpose:
Documentation
Description:
    Updated the comment blocks of H5check_version.
Platforms tested:
    eirene, both link-version imcompatible and library-version string
    inconsistency.
2001-07-16 16:37:10 -05:00
Frank Baker
7855457726 [svn-r4221] Purpose:
Correcting "Last modified" date.
Platforms tested:
    IE 5
2001-07-16 15:41:34 -05:00
Frank Baker
78a750de45 [svn-r4220] Purpose:
To list Release 1.4.2 API changes in Fortran90 library.
Description:
    Added note re new 'dims' parameter in 4 F90 routines:
        h5aread/write_f and h5dread/write_f.
Platforms tested:
    IE 5
2001-07-16 15:34:55 -05:00
Frank Baker
7cca9a3687 [svn-r4219] Purpose:
Linking to new "Freespace Management" section from appropriate places.
Description:
    Added links, with explanatory paragraph or footnote,
    from Chunking.html, Filters.html, and H5Gunlink in RM_H5G.html
    to "Freespace Management" in Performance.html.
Platforms tested:
    IE 5
2001-07-16 15:33:09 -05:00
Frank Baker
bf5f42e87d [svn-r4218] Purpose:
To make "HDF5 Tools" and "HDF5 Java Tools" more visible to users
Description:
    index.html:    Added link to "HDF5 Tools"
    Tools.html:    Added link to "HDF5 Java Tools"
Platforms tested:
    IE 5
2001-07-16 15:27:49 -05:00
Albert Cheng
94c5bad084 [svn-r4217] Purpose:
Bug fix
Description:
    By default, this config ends up compiling the code with -g option
    because the current configure will set CFLAGS to -g if it is not
    defined and if we are not using a gcc compiler.  This occurs even
    if we wish to have production code.
Solution:
    Hard set CFLAGS="$CFLAGS".  The mere setting, even if it is an
    empty strings would stop the above errors.
Platforms tested:
    LLNL sp2 (serial and parallel)--verified that -g is no longer used
    during compiling and object files produced are indeed smaller.
2001-07-16 14:57:16 -05:00
Bill Wendling
e951147bc6 [svn-r4215]
Description:
    Changed the version mentioned in here from 1.4.0 to 1.4.2 (and in at
    least one place from 1.2.0 to 1.4.2)
Platforms tested:
    Babbage Difference Engine
2001-07-16 14:48:46 -05:00
Elena Pourmal
b79fbdaad8 [svn-r4214]
Purpose:
    Bug fix (bug #625)
Description:
    Character buffers were not copied and freed properly. That caused segmentation
    fault on Linux (Debian 2.2, a glibc2.1.3-based distro and gcc 2.95.2 and NAGWare Fortran 95
    compiler Release 4.0a(392). Also many compilers screamed about this piece of code.
Solution:
    Asked Quincey to fix the code to do right thing.
Platforms tested:
    Solaris 2.7 (arabica)
2001-07-16 11:49:23 -05:00
Quincey Koziol
98ed6a7268 [svn-r4212] Purpose:
User knob..
Description:
    Added --enable-linux-lfs flag to configure and took out -malign-double
    flag from gcc compiles on i386 machines.
Platforms tested:
    Linux 2.2 and 2.4
2001-07-16 10:43:43 -05:00
Albert Cheng
8b9bd8d3a4 [svn-r4211] Purpose:
Improvement
Description:
    printed the library version stgring in the diagnostic output
    for easier version identification.
Solution:
Platforms tested:
    eirene (serial and mpich)
2001-07-14 15:49:54 -05:00
Albert Cheng
dd742ac4c6 [svn-r4210] 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 (serial, mpich), modi4 parallel, tflops parallel, Blue parallel.
2001-07-14 15:32:11 -05:00
Albert Cheng
c76ee0d68b [svn-r4209] 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:
    eirene (serial, mpich), modi4 parallel, tflops parallel, Blue parallel.
2001-07-14 15:31:03 -05:00
Elena Pourmal
031fdc2f0a [svn-r4207]
Purpose:
    hpux10.20 F90 port
Description:
    Added F90 support for HPUX 10.20
Platforms tested:
    HpUX 10.20 (sangamon)
2001-07-13 17:20:11 -05:00
Bill Wendling
eb21050bcf [svn-r4204]
Purpose:
    Bug Fix
Description:
    The gseaborg machine at NERSC needs the -I../src flag to find the
    appropriate modules.
Solution:
    Added that to the compile line...
2001-07-13 16:35:29 -05:00
Bill Wendling
fad3a77529 [svn-r4203]
Purpose:
    Hack Fix
Description:
    In order for my hack to work on the gseaborg machines at NERSC, there
    needed to be *'s before and after the hostname so that the pattern
    matching would work.
Solution:
    Added them.
Platforms tested:
    gseaborg machine
2001-07-13 16:34:23 -05:00
Albert Cheng
291c8b9bfc [svn-r4201] Purpose:
Incremented the SUBRELEASE value to distinguish this from the
    1.4.2.-pre2 version.
Platforms tested:
    Just did cvs diff and i inspected to make the diff output is
    resonable.
2001-07-12 16:16:00 -05:00
Albert Cheng
8a5a5f410e [svn-r4200] purpose:
Updated for 1.4.2-pre2 testing.
Platforms tested:
    Eirene
2001-07-12 13:01:54 -05:00
Albert Cheng
4b6d44b809 [svn-r4199] Purpose:
Updated for 1.4.2-pre2 testing.
Platforms tested:
    Eirene
2001-07-12 13:01:48 -05:00
Quincey Koziol
068464492a [svn-r4198] Purpose:
Code cleanup
Description:
    Clean up a few warnings in the library and tests, since it looks like we
    are going to have to roll another prelease tarball.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-07-12 11:56:19 -05:00
Quincey Koziol
498b6fed11 [svn-r4197] Purpose:
Code cleanup
Description:
    Clean up a few warnings in the library and tests, since it looks like we
    are going to have to roll another prelease tarball.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-07-12 11:49:09 -05:00
Elena Pourmal
c4e98f4c9b [svn-r4195]
Purpose:
    Maintenance
Description:
    Changed subrelease version to pre1 for the second round of testing
2001-07-11 23:18:24 -05:00
Raymond Lu
a36a6e42c2 [svn-r4194]
Purpose:
    Bug Fix
Description:
    For dataset writing in multiple group testing, change datatype from double
    to integer to avoid possible problem.
Platforms tested:
    Problem was found on T3E.  Don't have access to it.  Will check it after
    the group testing tomorrow.  July 12, 2001.
2001-07-11 17:21:33 -05:00
Frank Baker
820f6c2cfc [svn-r4192] Purpose:
Add notes for Release 1.4.2
Description:
    Added "1.4.2 -- bugfix release" note.
    Changed reference to "1.4.0 (current release)" to "1.4.x".
    Minor copy edits.
Platforms tested:
    IE 5
2001-07-11 17:00:48 -05:00
Frank Baker
fda79322f9 [svn-r4191] Purpose:
New section -- "Freespace Management"
Description:
    Added "Freespace Management" section.
    Minor formatting.
Platforms tested:
    IE 5
2001-07-11 16:59:44 -05:00
Bill Wendling
479add0802 [svn-r4190]
Purpose:
    Bug Fix
Description:
    Back ported the fix to the module dependencies vis-a-vis the
    ptesthdf5_fortran.f90 file.
2001-07-11 14:20:46 -05:00
MuQun Yang
3463353af0 [svn-r4186]
Purpose:
     a bug fix in comments
Description:
    The original description for HDF4 comprehensive file structure is incorrect.

Solution:
    correct the comments and add more explanation.
Platforms tested:
    eirene
2001-07-11 11:19:45 -05:00
Bill Wendling
fb194a8085 [svn-r4183]
Purpose:
    Fix
Description:
    Back porting the bug fix from the 1.5 branch vis-a-vis the -b
    nolibpath thingy.
2001-07-10 23:23:39 -05:00
Quincey Koziol
0f6a8fbaad [svn-r4177] Purpose:
Bug fix
Description:
    Accommodate v1.2.x behavior when --enable-hdf5v1_2 is enabled.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-07-10 15:16:42 -05:00
Quincey Koziol
6b269cb0d7 [svn-r4176] Purpose:
Bug fix
Description:
    H5Tget_member_type in v1.2.x returns the base type of array fields in
    compound datatypes, not an array type itself.
Solution:
    Changed to emulate this behavior in v1.4.x when the --enable-hdf5v1_2
    flag is given during configuration
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-07-10 15:14:28 -05:00
Quincey Koziol
8fd511d0c6 [svn-r4175] Purpose:
Documentation
Description:
    Noted bug fix for v1.2 compatibility mode.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-07-10 15:13:08 -05:00
Bill Wendling
05bb851551 [svn-r4173]
Purpose:
    Bug Fix
Description:
    Back porting the fix to the fortran FFLAGS macro.
2001-07-10 14:12:19 -05:00
Elena Pourmal
16325d4815 [svn-r4170]
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:
    Solaris 2.7 (arabica)
2001-07-10 12:58:44 -05:00
Frank Baker
cef1b90471 [svn-r4168] Description:
Updated release reference in user docs table header to 1.4.2.
Platforms tested:
    IE 5
2001-07-09 17:22:10 -05:00
Frank Baker
9e165858d2 [svn-r4167] Description:
Updating "Describes HDF5 Release..." line to "...1.4.2, July 2001"
Platforms tested:
    IE 5
2001-07-09 17:15:46 -05:00
Bill Wendling
bb1d4e704f [svn-r4165]
Purpose:
    Bug Fixes
Description:
    If the system doesn't support modules, then the F9XMODFLAG would be
    empty. This would cause things like '.' and '../src' to be stranded
    on the compile line by themselves and the compiler would barf.

    Also, there needs to be a dependence between the thyperslab_wr
    program and the THDF5 module.
Solution:
    Put the code to generate the -{M,I,p}<directory> flags in the
    acsite.m4 file since it's not possible to check if a macro is empty
    and do substitution on it in the Makefiles.

    Put a dependency in the Makefile.in so that THDF5 will be made before
    the thyperslab_wr program.
Platforms tested:
    Linux
2001-07-09 16:22:08 -05:00
Frank Baker
fc13ddb7b3 [svn-r4164] Purpose:
Fixes bug #503
Description:
    H5Gunlink -- Changed "file space is reclaimed" ot "released".
                 Added note re: freespace and packing.
                 Heavy edit of Purpose and Description.
Platforms tested:
    IE 5
2001-07-09 16:18:11 -05:00
Frank Baker
4e7ea72353 [svn-r4161] Description:
H5Screate_simple -- Minor edit re negative value (-1) of H5S_UNLIMITED.
Platforms tested:
    IE 5
2001-07-09 16:13:04 -05:00
Pedro Vicente Nunes
546bd4f004 [svn-r4157]
Purpose:

updated code warrior doc file


Description:
Solution:
Platforms tested:


are you kidding ?

:
2001-07-09 13:30:21 -05:00
Bill Wendling
7f5b00c215 [svn-r4156]
Purpose:
    Fix
Description:
    I didn't put the zlib fix into the 1.4 branch.
Solution:
    Put the fix into the configure to clear the cache so that configure
    always checks for zlib in the fortran/ directory so that it'll be put
    in the LFlags macro.
2001-07-09 12:50:12 -05:00
Pedro Vicente Nunes
447830cdfb [svn-r4154]
Purpose:

updated MANIFEST to include the file release_docs/INSTALL_codewarrior.txt


Description:
Solution:
Platforms tested:
2001-07-09 10:20:14 -05:00
Pedro Vicente Nunes
8a46a25a5d [svn-r4149]
Purpose:

add new file with install instructions on CW
could somebody check the grammar ?
Thanks

Description:
Solution:
Platforms tested:
2001-07-07 20:53:38 -05:00
Pedro Vicente Nunes
3a2b02b25c [svn-r4148]
Purpose:

update all.zip

Description:

2 new files in all.zip
hdf5.mcp (code warrior project) that opens by default the all project
a new H5pubconf.h , the older one had line endings not compatible with CW

Solution:
Platforms tested:

NT, (CW and MSVC)
2001-07-07 20:08:24 -05:00
Robert E. McGrath
c03caafc15 [svn-r4147]
Purpose:
Repeat from yesterday.  CVS checkin was lost and overwritten.
Description:
Solution:
Platforms tested:
2001-07-07 14:25:33 -05:00
Pedro Vicente Nunes
d8ff843f0c [svn-r4146]
Purpose:

inserted new code warrior project file in ALL.ZIP
has an all projects build

Description:
Solution:
Platforms tested:
2001-07-07 02:02:32 -05:00
Pedro Vicente Nunes
bc619bd8a6 [svn-r4145]
Purpose

code warrior port

:
Description:

changed strdup to HDstrdup

Solution:
Platforms tested:

nt
2001-07-07 01:36:22 -05:00
Pedro Vicente Nunes
a57ced01e7 [svn-r4144]
Purpose:

code warrior port


Description:

changed strdup to H5strdup
Solution:
Platforms tested:

nt, linux:
2001-07-07 00:47:04 -05:00
Pedro Vicente Nunes
9a2c38ed1f [svn-r4143]
Purpose:

code warrior port


Description:

added defines to avoid including the header sys/timeb.h

Solution:
Platforms tested:

nt, linux:
2001-07-07 00:46:21 -05:00
Pedro Vicente Nunes
f57b3a7945 [svn-r4142]
Purpose
update windows headers that were causing compiler errors in the DLL versions

Platform tested:

:windows NT
2001-07-06 23:46:50 -05:00
Robert E. McGrath
95bee36161 [svn-r4141]
Purpose:
    Fix bugs in XML output of dumper
Description:
    Incorrect XML was produced.
Solution:
Do the right thing.  See diffs in test files.
Platforms tested:
Solaris.
2001-07-06 17:19:28 -05:00
Elena Pourmal
f1dcc2b510 [svn-r4140]
Purpose:
    Make T3E happy
Description:
    hdf5-1.4.2-pre0 would not build without adding special flag
    to disable linker warning #412 for Fortran
Solution:
    Disable warning #412
Platforms tested:
    T3E
2001-07-06 16:33:29 -05:00
Bill Wendling
adbd3ac893 [svn-r4139]
Purpose:
    Bug Fix
Description:
    Back ported bug fix from the 1.5 branch re the nsl library being
    checked for and used on all platforms (only Solaris seems to need
    it).
2001-07-06 15:13:16 -05:00
Elena Pourmal
9eb005a7d0 [svn-r4137]
Purpose:
    Bufg fix
Description:
    H5Sget_simple_extent_dims function had the third argument of the wrong type.
Solution:
    Replaced the argument with NULL, since it is not used.
Platforms tested:
    T3E
2001-07-06 14:45:59 -05:00
Bill Wendling
87bf7b5bf1 [svn-r4135]
Purpose:
    Bug Fix
Description:
    We long ago changed the compiler flags to pick out dependencies to
    -MM instead of -M so that only #include "filename.h" type headers
    will be put into the .depend file.
Solution:
    Changed this flag.
Platforms tested:
    Linux
2001-07-06 14:26:03 -05:00
Frank Baker
749b37bc74 [svn-r4133] Purpose:
Bugfix.
Description:
    H5Screate_simple -- Minor edit.                                                 9      H5Sget_simple_extent_dims -- Added note regarding H5S_UNLIMITED.
    Completes fix to bug #568.
Platforms tested:
    IE 5
2001-07-06 10:30:47 -05:00
Elena Pourmal
1527bfa72a [svn-r4132]
Purpose:
    Another typo fix that I did not catch in the 1.4 branch but fixed in 1.5.
2001-07-06 09:01:55 -05:00
Elena Pourmal
e1298b111c [svn-r4130]
Purpose:
    Typo fix
Description:

    Today's daily tests failed on modi4 (pp) because name of the H5FDmpioff.f90
    was misspelled.
2001-07-06 08:48:46 -05:00
Frank Baker
a294128311 [svn-r4128] Purpose:
Bugfix
Description:
    H5Screate_simple -- Corrected statement referring to value of 0
      instead of H5S_UNLIMITED for unlimited dimensions.  While there,
      took the opportunity to rework the Description section.
    Fixes Bug #568.
Platforms tested:
    IE 5
2001-07-05 22:04:48 -05:00
Frank Baker
35f7cbbac5 [svn-r4125]
Purpose:
    Bugfixes.
Description:

Solution:
    [details about the changes, algorithm, etc...]
    [Please as detail as you can since your own explanation is
    better than others guessing it from the code.]
Platforms tested:
    [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-07-05 21:20:36 -05:00
Frank Baker
2ec7e1b270 [svn-r4124] Purpose:
Bugfix (Tools.html) and spelling correction (Files.html).
Description:
    Tools.html
       h5dump -- Removed "interactively" from first description sentence.
         (As a user has pointed out, an application that runs and exits
         without opportunity for user input is not "interactive".)
         Fixes bug #474.
       Rewrote introductory sentence to "Tools" page.
    Files.html -- Spelling correction
Platforms tested:
    IE 5
2001-07-05 21:14:51 -05:00
Albert Cheng
56553a0cb8 [svn-r4122] Purpose:
update
Description:
    Several files have been renamed or moved to a different location.
    README => README.txt
    RELEASE.txt => release_docs/RELEASE.txt
    HISTORY.txt => release_docs/HISTORY.txt

    Updated h5vers and release to reflect all these new names/locations.
    Also made all uses the same beginning phases for the first line
    of text in README.txt and RELEASE.txt as follows:
	"HDF5 version ... "
Platforms tested:
    eirene by running the bin/release and bin/h5vers -i.
2001-07-05 18:20:22 -05:00
Raymond Lu
177d2c795f [svn-r4120]
Purpose:
    Added  parallel group testing.
Description:
    See t_mdset.c description.
Platforms tested:
    See t_mdset.c tested platforms.
2001-07-05 16:08:15 -05:00
Raymond Lu
dc78e24609 [svn-r4119]
Purpose:
    Parallel group testing.
Description:
    created multiple groups under root group; also created child group of
    multiple levels for the 1st subgroup.
Platforms tested:
    IRIX64 MPI, MPICH for IRIX64, IRIX64 N32, IRIX, Linux, SunOS.
2001-07-05 16:06:01 -05:00
Bill Wendling
1b7c6039c5 [svn-r4117]
Purpose:
    Bug Fix
Description:
    During a parallel make session, some modules would get built way
    before the modules they depend upon were built.
Solution:
    Explicitly put the dependencies in the Makefile.in so that things
    will be built in the correct order.
Platforms tested:
    modi4 and eirene.
2001-07-05 15:53:21 -05:00
Pedro Vicente Nunes
4c5e3ff22b [svn-r4116]
Purpose:

updated the all.zip file to include the code warrior project file
it is located on hdf5/proj/codewarrior/hdf5.mcp

Description:
Solution:
2001-07-05 15:51:14 -05:00
Bill Wendling
78e2bab0b4 [svn-r4115] Purpose:
Bug Fix
Description:
    Small bug fix introduced by the changing of the name of the README
    file to README.txt
Solution:
    Changed the file name in the configure script from README to
    README.txt
Platforms tested:
    Linux
2001-07-05 15:17:27 -05:00
Elena Pourmal
ace710ac13 [svn-r4113]
Purpose:
    Maintenance
Description:
    Changed version information to be 1.4.2-pre0 for upcoming testing.
2001-07-05 10:53:27 -05:00
Elena Pourmal
6d7917d341 [svn-r4112]
Purpose:
    Maintenance
Description:
    Source directory has been rearranged.
    INSTALL*, HISTORY.txt and RELEASE.txt were moved to the release_docs directory.
    *.zip files were moved to the windows directory.
    README file was renamed to README.txt
    MANIFEST was updated to reflect those changes.
2001-07-05 10:51:25 -05:00
MuQun Yang
e6379c6d3d [svn-r4109]
Purpose:
     a bug fix
Description:
     declaration of chunk_dims is wrong. In HDF4, chunk dimensional size is defined
      as int32, but in HDF5 it is defined as hsize_t. It causes problem in T3E.
Solution:
     define chunk_dims as hsize_t and cast int32 into hsize_t
Platforms tested:
     eirene
2001-07-05 09:38:06 -05:00
Elena Pourmal
3f49c1a9de [svn-r4108]
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 the argument is optional and was never used.
Platforms tested:
    T3E(mcurie) and IRIX64 (modi4)
2001-07-04 13:00:40 -05:00
Frank Baker
44019af998 [svn-r4105]
Purpose:
    Bugfix #567.
Description:
    Corrected datatype h5s_selopt_t to read h5s_seloper_t.
    Fixes HDF5 bug #567.
Platforms tested:
    IE 5
2001-07-04 10:46:51 -05:00
Frank Baker
3065788b11 [svn-r4103]
Purpose:
    Version 1.2 of "HDF5 Image and Palette Spec."  (Replaces v1.1)
Platforms tested:
    IE 5
2001-07-03 17:08:11 -05:00
Pedro Vicente Nunes
226a6b3929 [svn-r4101]
Purpose
code warrior changes
:
Description:

the open function of Metrowerks has a bug. The test file overhead.c
has some idef statments that avoid calling this function on code warrior:


Solution:
Platforms tested:

solaris (arabica), linux (eirene)+
2001-07-03 11:01:48 -05:00
Pedro Vicente Nunes
d66d9f9218 [svn-r4100]
Purpose
code warrior changes
:
Description:

moved some ifdefs
the type off_t was removed from H5private.h and put on H5Public.h
Metrowerks does not define this type, it was defined



Solution:
Platforms tested:

solaris (arabica), linux (eirene)+
2001-07-03 11:00:17 -05:00
HDF Admin
d096777503 [svn-r4098] Snapshot version 1.4 release 1 (post3) 2001-07-02 17:37:49 -05:00
Albert Cheng
ee0f7e2218 [svn-r4097] Purpose:
Bug fixes
Description:
    H5FDmpio.c:
	H5FD_mpio_flush() would try to file seek negative if the
	file->eoa is 0 (e.g., doing mpio on the raw-file of the
	split file driver).  Put in a code to catch this case
	by returning succeed immediately.
    H5S.c:
	SAF test code exposed an error in the HDF5_MPI_OPT_TYPES
	code.  The SAF code was doing collective write to chunked
	storage dataset.  Some processes wanted to flush some chunk
	while some other processes were doing something else but the
	HDF5_MPI_OPT_TYPES code thought the chunk flushing were collective
	calls since it only looked at the condition when H5Dwrite
	was called.  So, it hanged when doing MPI_File_setview.
	For now, turned off the HDF5_MPI_OPT_TYPES code so that the
	SAF code would work.  More long term fix later.
Solution:
Platforms tested:
    eirene (serial and mpich), modi4 -64-serial and -n32-parallel.
2001-07-02 17:22:32 -05:00
Thomas Radke
b9c5316346 [svn-r4093]
Purpose:
    Use port hunting to test the Stream VFD
Description:
    The stream driver is tested by streaming data
    between two different processes on the local
    machine on a given default port.
    If this port is already is use, port hunting
    should find the next available port to use.
    The hostname/port information which is actually
    used by the sender is written to a temporary
    file which is then read by the receiver process
    to connect to the sender's port.

    For the purpose of testing I switched back
    the default port to use from 10007 to 5678
    which is at least already used by another
    service on modi4.
Platforms tested:
    x86 Linux, Irix 32/64 bit (modi4), Dec Alpha,
    Unicos on T3E, Hitachi SR8000, AIX on SP2
2001-07-02 08:56:10 -05:00
Thomas Radke
917b3b7658 [svn-r4092]
Purpose:
    Implemented port hunting
    Really catch SIGPIPE signals
Description:
    Port hunting allows to try and bind to a successive port number
    if the port number given in the filename is already used.

    Because of a stupid typo in the code, SIGPIPE wasn't catched
    which might have caused the sending side to hang.
Solution:
    The Stream VFD's file access property list was extended by two
    elements:
      - maxhunt: how many successive ports to try if the one
                 given in the filename is already in use
                 Default is not to hunt for additional ports.
      - port:    port number which is finally used to bind a socket
                 This might be different to the port number
                 as given in the filename if port hunting is enabled.
                 The H5Pget_fapl_stream() can be used to obtain
                 this port number.
Platforms tested:
    x86 Linux, Irix 32/64 bit, Dec Alpha, Unicos on T3E, AIX on SP2
    Hitachi SR8000
2001-07-02 08:55:01 -05:00
Frank Baker
fdb35caa69 [svn-r4089]
Purpose:
    Updated "Last modified" line to reflect recent changes.
Platforms tested:
    IE 5
2001-06-29 15:50:55 -05:00
Quincey Koziol
45993ee78e [svn-r4087] Purpose:
Code cleanup
Description:
    Fix copy & paste error when merging in the last round of CodeWarrior
    changes.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-29 14:32:06 -05:00
Quincey Koziol
955ef79577 [svn-r4086] Purpose:
Code Cleanup
Description:
    CodeWarrior checkin broke the unix build in a couple of ways...
Solution:
    Various tweaks and cleanups.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-29 13:53:29 -05:00
Elena Pourmal
aca104be97 [svn-r4085]
Purpose:
    Typo fix
Description:
    I forgot to add a new argument to one of the functions prototypes.
2001-06-29 10:51:02 -05:00
Elena Pourmal
9154d41f47 [svn-r4084]
Purpose:
    Maintenance
Description:
    Updated man pages for h5awrite(read)_f and h5dwrite(read)_f subroutines
2001-06-29 10:31:14 -05:00
Pedro Vicente Nunes
62264a8bb5 [svn-r4082]
Purpose:
   Maintenance
Description:
   Added info about Code warrior port for Windows.
2001-06-28 16:37:10 -05:00
Pedro Vicente Nunes
bcb587dcc2 [svn-r4081]
Purpose:
    [is this a bug fix? feature? ...]
Description:
    [describe the bug, or describe the new feature, etc]
Solution:
    [details about the changes, algorithm, etc...]
    [Please as detail as you can since your own explanation is
    better than others guessing it from the code.]
Platforms tested:
    [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-06-28 16:23:13 -05:00
Quincey Koziol
3a925f72d0 [svn-r4079] Purpose:
Document 64-bit support on Solaris
2001-06-28 13:58:48 -05:00
Quincey Koziol
106da7a861 [svn-r4077] Purpose:
Document Solaris 64-bit support.
Description:
    Added paragraph to "alternate compilers" section which describes how to
    enable 64-bit support for Solaris.
2001-06-28 13:55:14 -05:00
Elena Pourmal
378dd7cd74 [svn-r4074]
Purpose:
    F90 || port
Description:
    Updated test to use new h5dread/write_f functions
Platforms tested:
    NERSC IBM SP (gseaborg)
2001-06-27 17:06:59 -05:00
Elena Pourmal
66f2ea839e [svn-r4073]
Purpose:
    Bug fix for IBM SP F90 || port
Description:
    mpxlf90_r compiler does not like "." for current directory
Solution:
    Changed "." to "./"
Platforms tested:
    NERSC IBM SP (gseaborg)
2001-06-27 17:04:27 -05:00
Elena Pourmal
91798be1c3 [svn-r4072]
Purpose:
    SP F90 parallel port
Description:
    Makefile.in did not have thdf5.lo on the compilation line, that caused linking
    problems for the test on SP3 (gseaborg)

Solution:
    Added the file name to the compilation line.
Platforms tested:
    NERSC IBM SP
2001-06-27 17:02:22 -05:00
Albert Cheng
1a4c6d9966 [svn-r4070] Description:
Put the enable-hdf5v1_2 back in.
Platforms tested:
    modi4 (parallel), eirene (with and without enable-hdf5v1_2 on).
2001-06-25 17:48:38 -05:00
Barbara Jones
997ae15cc8 [svn-r4067]
Purpose:
add footer-ncsalogo.gif to fix broken ncsa link problem in tutorial
2001-06-22 14:31:25 -05:00
Barbara Jones
f2e9234ab7 [svn-r4066]
Purpose:
fix ncsa image broken link
2001-06-22 14:30:11 -05:00
cvs2svn
4cb6fa0f6e [svn-r4065] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-06-22 14:30:11 -05:00
Elena Pourmal
07854c3b55 [svn-r4051]
Purpose:
    Bug fix
Description:
    I forgot to update the file when removed H5f.c and H5ff.f90 and
    added H5_f.c and H5ff.f90
Solution:
    Fixed
2001-06-22 09:14:59 -05:00
Bill Wendling
ed37e35d5f [svn-r4049]
Purpose:
    Bug Fix
Description:
    This puts the changes Elena made into the correct configure file.
    (It should go into the acsite.m4 instead of the configure file). This
    is only put in the 1.4 branch right now to save messing up the 1.5
    branch for now :-).
2001-06-21 17:23:15 -05:00
Elena Pourmal
5ebfdea71c [svn-r4045]
Purpose:
    Maintenance
Description:
    Added information about F90 port for Windows, HP, and IBM SP.
    Also added information about gif converters.
2001-06-21 14:47:32 -05:00
Elena Pourmal
4abe81ec20 [svn-r4040]
Purpose:
    Bug bypass
Description:
    Fortran configure checks flags where to find F90 modules in the
    order "M", "I" and "p". On IBM SP "M" is a reserved flag, configure
    does not understand compiler's warning and uses it to specify
    module directories. Then tests and examples compilation fails since
    module directory is not specified correctly on the compilation line.
Solution:
    Changed the order of flags to be "I", "M", "p", so configure on IBM SP
    finds the correct flag first.
Platforms tested:
    IBM SP, Solaris 2.7, Linux, DEC UNIX, HP 11.00, IRIX64 (yes, all of them :-)
2001-06-21 12:40:37 -05:00
Elena Pourmal
f42aab2397 [svn-r4039]
Purpose:
    Maintenance on IBM SP
Description:
    I used unnecessary system specific compiler falgs
Solution:
    Removed unnecessary flags
Platforms tested:
    NERSC IBM SP (gseaborg)
2001-06-21 12:34:51 -05:00
Elena Pourmal
6c9f206b21 [svn-r4037]
Purpose:
    Windows port
Description:
    Names of H5f.c H5ff.f90 files caused linking problems
    on Windows platforms.
Solution:
    Renamed the files to H5_f.c and H5_ff.f90.
Platforms tested:
    Windows 98 and Solaris 2.7.
2001-06-21 10:33:39 -05:00
cvs2svn
2ed34acd4d [svn-r4036] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-06-21 10:33:39 -05:00
Elena Pourmal
01f5653c98 [svn-r4030]
Purpose:
    IBM SP F90 HDF5 Library port
Description:
    Added necessary definitions to the configuration file.
Platforms tested:
    NERSC IBM SP (gseaborg)
2001-06-21 10:07:44 -05:00
Elena Pourmal
d1b9983c54 [svn-r4029]
Purpose:
    IBM SP F90 HDF5 Library port
Description:
    Added necessary type definitions for SP2 port.
Platforms tested:
    Gseaborg ( NERSC IBM SP)
2001-06-21 10:06:06 -05:00
Elena Pourmal
f1b719823a [svn-r4028]
Purpose:
    Maintenance and Windows port
Description:
    New zip file all_withf90.zip has been added to support F90 HDF5 Library
    on Windows. This file was also added to the MANIFETS file.
Platforms tested:
    Windows98
2001-06-21 09:58:52 -05:00
Elena Pourmal
e66998d4dd [svn-r4027]
Purpose:
    Windows port
Description:
    Modified examples source code to reflect the changes in the
    read/write APIs
Platforms tested:
    DEC UNIX, Linux
2001-06-21 09:54:50 -05:00
Elena Pourmal
ef31e2929d [svn-r4026]
Purpose:
    Windows port
Description:
    Modified code to reflect the changes in the read/write APIs.
Platforms tested:
    Windows 98, Linux, DEC UNIX
2001-06-21 09:53:42 -05:00
Elena Pourmal
aa08bf1245 [svn-r4025]
Purpose:
    Windows and DEC OSF port
Description:
    Added support for Windows and DEC UNIX (OSF1)
Solution:
    Interface blocks for each C function called from corresponding
    F90 function were added to port HDF5 F90 Library to Windows platforms.
    Special DEC compilers directives were added to avoid name conflicts
    for C functions called from F90 functions on Windows and DEC UNIX.
    Also changes were done to the h5dwrite/read_f and h5awrite/read_f
    interfaces ( extra parameter added to make code portable between
    Windows and UNIX platforms)
Platforms tested:
    Windows 98 (static library only), DEC UNIX
2001-06-21 09:52:27 -05:00
Quincey Koziol
88fecd169b [svn-r4006] Purpose:
Regression check added
Description:
    Added regression check to verify that the array reading code is now working
    correctly for small data transfer buffers.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-14 15:13:47 -05:00
Quincey Koziol
cf26accf28 [svn-r4005] Purpose:
Bug fix/code improvement.
Description:
    'all' selections were (ab)using the array reading code and required that
    the internal data transfer buffer size be big enough to hold the an entire
    slab of the data, which was confusing and limiting for users.
Solution:
    Changed 'all' selections to use sequence reading code instead of array
    reading code.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-14 15:13:26 -05:00
Quincey Koziol
0017dab7c1 [svn-r4004] Description:
Noted 'all' selection code improvement/bug fix.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-14 15:12:36 -05:00
Albert Cheng
fe56538eec [svn-r4000] Purpose:
Cleaning
Description:
    Removed the --enable-hdf5v1_2 configure option.  It was intended
    to help users migrate from 1.2 to 1.4.0.
    Notice that the code are still in.  Will clean them out when
    it is confirmed there is no big cry for it.
Platforms tested:
    eirene with mpich.
2001-06-14 13:17:33 -05:00
Quincey Koziol
5961f1ef5f [svn-r3999] Purpose:
Code cleanup
Description:
    float32 & float64 typedefs are not used in HDF5 library and are causing
    conflicts with Kent's h4toh5 library code.
Solution:
    Take the float32 & float64 typedefs out
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-12 14:00:30 -05:00
MuQun Yang
af52f635a9 [svn-r3997]
Purpose:
   catch up new features of 1.4 branch on windows platform
Description:
   1. add gif2h5 and h52gif into both all.zip and all_withhdf4.zip
   2. update h4toh5test.dsp

Solution:
Platforms tested:
    Windows NT5.0(windows 2000)
2001-06-12 12:47:18 -05:00
MuQun Yang
188bf1d56b [svn-r3996]
Purpose:
     a bug fix on windows platform
Description:
    forget considering daylight saving time
Solution:
    using daylight constant in windows
Platforms tested:
    windows 2000
2001-06-12 11:22:07 -05:00
Quincey Koziol
247a7e49a2 [svn-r3994] Purpose:
Bug fix for Pablo integration
Description:
    Several API functions were using FUNC_ENTER, without using FUNC_LEAVE,
    HRETURN or HRETURN_ERROR to leave the function.  (Using "plain" 'return'
    statements instead).
Solution:
    Changed return statements to FUNC_LEAVE, HRETURN or HRETURN_ERROR, as
    appropriate.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-11 17:36:12 -05:00
MuQun Yang
2d9628c376 [svn-r3992]
Purpose:
  update h4toh5 converter testing files at hdf5 1.4 branch
Description:
Solution:
Platforms tested:
     eirene
2001-06-11 17:27:32 -05:00
MuQun Yang
36ea086430 [svn-r3991]
Purpose:
    update testing files for hdf5 1.4 branch
Description:
Solution:
Platforms tested:
     eirene
2001-06-11 17:26:20 -05:00
MuQun Yang
1d98202eed [svn-r3990]
Purpose:
    Update h4toh5 converter tool at hdf5 1.4 branch.
Solution:
    see previous check in messags to development branch
    New features and bug fixes include:

     1. SDS dimensional scale various bugs
     2. fill value
     3. chunking and compression issue
     4. HDF4 specified attribute information
     5. Vdata-related bugs
Platforms tested:
     eirene(RedHat 6.2)
2001-06-11 17:23:27 -05:00
Albert Cheng
85d8862d82 [svn-r3982] Purpose:
Bug fix
Description:
    The t_mpi used to fail and exit if any error detected.
    That aborted other process in a "make check" situation.
Solution:
    Introduced a new error verification as INFO.  INFO is for
    information only.  It does not increase nerrors count.
    The program always exits with 0.
Platforms tested:
    eirene with mpich.
2001-06-11 13:36:36 -05:00
Albert Cheng
857074354a [svn-r3967] Purpose:
synchronize
Description:
    Folded the changes just made to v1.5 to this branch too.
Platforms tested:
    eirene, serial and parallel modes.
2001-06-06 02:36:25 -05:00
Albert Cheng
735dd552be [svn-r3965] Purpose:
new feature
Description:
    added the command option of "setenv x y" for setting
    environment variable x=y.
Platforms tested:
    Eirene
2001-06-05 22:57:39 -05:00
Elena Pourmal
9bee7bdb2b [svn-r3961]
Purpose:
    HPUX 11.00 port
Description:
    Redundant "USE" statements triggered F90 compiler bug on HPUX 11.00
    systems.
Solution:
    Removed redundant "USE" statement as was recommended by HP people.

    This fix is different from the fix I applied to 1.5 branch. The
    branch does not have Windows port yet (I am waiting for DEC response
    on DLL bug). So I decided to make a minimum change to the source code
    at this point. Fix applied to 1.5 branch is more consistent but
    several other files have to be modified. When I finish Windows port
    all F90 files in this branch will be replaced anyway.

Platforms tested:
    HPUX 11.00 (kelgia)
2001-06-05 16:24:50 -05:00
Elena Pourmal
9275de5237 [svn-r3960]
Purpose:
    Bug fix
Description:
    All examples used "FILE"  string in the #define preprocessor                                      directive. That caused error on Windows platforms since                                           FILE is a structure returned by fopen calls.
Solution:
    Changed "FILE" to "H5FILE_NAME"
Platforms tested:
    HPUX 11.00 (kelgia)
2001-06-05 16:10:59 -05:00
Dan Wells
e60434c327 [svn-r3956]
Purpose:
    Bug Fix
Description:
    Traces of the MPI I/O calls were not being captured.
Solution:
    Used the routine HDFtraceEvent in the Pablo HDF library rather than the
    traceEvent routine in the MPI I/O trace library.
Platforms tested:
    SGI 64, SGI n32, VClass 64, VClass 32, Solaris
2001-06-04 11:37:13 -05:00
Albert Cheng
be45b84db1 [svn-r3954] Purpose:
Bug fix
Description:
    This file is not C++ friendly/compliant because the protocols
    are not bracketed by the #ifdef __cplusplus macro.  This was
    discovered by a user attempting to use C++ with enable-parallel.
Solution:
    Though we are not supporting C++ in parallel mode yet, it is
    simple to add the macro bracket.  It would help if C++ is supported
    in the future.
Platforms tested:
    modi4 (64,n32) and eirene (mpich).
2001-06-01 11:17:56 -05:00
Bill Wendling
89d60c40b4 [svn-r3953] Purpose:
Update
Description:
    Added mention that we support HP V2500 and HP N4000....
2001-05-30 14:56:37 -05:00
Bill Wendling
e3ed0c6766 [svn-r3949] Purpose:
Updated
Description:
    Showed removal of versinfo
2001-05-29 14:43:11 -05:00
Albert Cheng
d8845ebe43 [svn-r3947] Description:
This script file is not used any more.
Platforms tested:
    "grep versinc *" does not return any reference.  Verified with Quincey too.
2001-05-29 13:42:56 -05:00
Binh-Minh Ribler
22131bb2dd [svn-r3945]
Purpose:
    Changed due to bug fixed
Description:
    The dsets.cpp/test_compression test was disabled because it
    failed on eirene - some variable changed to a very large value.
Solution:
    The problem was fixed by Bill.  So I removed the #if defined (__linux__)
    to enable the test_compression again.
Platforms tested:
    eirene (linux)
2001-05-26 01:39:22 -05:00
Bill Wendling
4101a3561f [svn-r3943] Purpose:
Backport
Description:
    Backport of patch to HDF5 1.5 branch which puts temp files in
    /tmp/${USER,LOGIN} if defined for parallel tests.
Platforms tested:
    Linux
2001-05-25 16:00:00 -05:00
Bill Wendling
44c5d2ff50 [svn-r3938] Purpose:
Update
Description:
    Mentioned the Linux 2.4.4 platform since that's supported now.
2001-05-24 10:03:00 -05:00
Bill Wendling
c514abd496 [svn-r3934] Purpose:
Code Update
Description:
    Ported change from the 1.5 branch to the 1.4 branch where all HDF5
    include files are in quotes instead of angle brackets:

        #include "hdf5_file.h"

    instead of

        #include <hdf5_file.h>

Platforms tested:
    Linux
2001-05-15 16:28:04 -05:00
Bill Wendling
a31d4b8619 [svn-r3932] Purpose:
Updated to reflect removal of bin/ directory in fortran/ and c++/
    directories.
2001-05-15 13:05:47 -05:00
Bill Wendling
71173ca954 [svn-r3931] Purpose:
Fix
Description:
    Fixed to use the top-level bin/ directory instead of having the files
    copied here...
Platforms tested:
    Linux
2001-05-15 13:04:34 -05:00
HDF Admin
dbb42ea373 [svn-r3928] Snapshot version 1.4 release 1 (post2) 2001-05-12 23:47:46 -05:00
Rushabh Doshi
48f724c523 [svn-r3924]
Purpose:
    Adding new feature
Description:
    Added gif2h5 and h52gif conversion utilities
Solution:
    The utilites follow the framework built for the gif2hdf and hdf2gif
    utilities for hdf4. The main files modified were those that read the
    H5 file and those that write H5 file. In the future, if you wish to
    continue with the framework and extend it to .png or some other fileformat
    the main files to edit will be the gif reader and writer.
    One point to note with h52gif. You have to specify the exact location of
    the image and the palette that it links to. You can choose not to specify
    a palette (uniform grayscale chosen in this case) but you must specify
    image location. In the future, someone could edit the readhdf.c source
    to enable the reader to parse the hdf file and select all images with
    corresponding palettes.
Platforms tested:
    modi4 , eirene , hawkwind , arabica , Ren (NT 4.0) , Personal box (win2k)
2001-05-12 16:12:29 -05:00
cvs2svn
52ea32a129 [svn-r3923] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-05-12 16:12:29 -05:00
Albert Cheng
e91ac26124 [svn-r3917] Updated. 2001-05-12 12:39:28 -05:00
Albert Cheng
fb9d0686ba [svn-r3915] Purpose:
New feature
Description:
    Added verification of H5_VERS_INFO in H5check_version().
Platforms tested:
    Eirene (linux).
2001-05-12 12:33:21 -05:00
Albert Cheng
87456c1137 [svn-r3912] Purpose:
Cosmetic adjustment
Description:
    Changed Version information from just "HDF5 version ..."
    to "HDF5 library version" since this is really about a
    library implementation.
Platforms tested:
    eirene (used "h5vers -s ..." to see the effect.)
2001-05-11 09:16:53 -05:00
Albert Cheng
46eebaa438 [svn-r3910] Purpose:
Feature
Description:
    Added the H5_VERS_INFO macro definition.
2001-05-10 18:52:25 -05:00
Albert Cheng
94e3e4b98c [svn-r3909] Purpose:
feature
Description:
    -i option update the RELEASE.txt file too.
Platforms tested:
    eirene
2001-05-10 18:42:31 -05:00
Albert Cheng
187b151e0a [svn-r3905] Purpose:
new feature
Description:
    Added feature to update RELEASE.txt with release information just
    like what happens to README.  Make a copy of RELEASE.txt to accompany
    the tarball file(s).
    Also moved the umask command up to cover all files created on the fly.
Platforms tested:
    Worked for 1.5, got to work the same.
2001-05-10 10:24:06 -05:00
Albert Cheng
b6446f2a6f [svn-r3902] Purpose:
Bug fix
Description:
    test_mpio_offset() was called with wrong syntax.  Dumb mistake.
Platforms tested:
    modi4, pp
2001-05-10 08:47:14 -05:00
Albert Cheng
988e4ce0bb [svn-r3900] Purpose:
Bug fix
Description:
    added a barrier to prevent racing condition before remove file and
    open file.
Platforms tested:
    modi4,pp
cVS: ----------------------------------------------------------------------
2001-05-10 08:40:03 -05:00
Albert Cheng
0c46256e02 [svn-r3898] Purpose:
Update & new feature
Description:
    Updated with information of the re-implementation of alignment allocation.
    Changed the title line to reflect the current version information correctly.
2001-05-10 00:08:46 -05:00
Bill Wendling
01e00e23a3 [svn-r3895] Purpose:
Feature Add
Description:
    Added support for >2GB files to the Linux architecture. This is a
    sync with the 1.5 branch. The CFLAGS now gets set in the gnu-flags
    file instead of the configure script (as it should). There's special
    logic to test for 64-bit files systems in Linux and add the
    appropriate flags, etc.
Platforms tested:
    Linux
2001-05-08 16:36:17 -05:00
HDF Admin
6611d35258 [svn-r3890] Snapshot version 1.4 release 1 (post1) 2001-05-05 23:46:05 -05:00
Albert Cheng
0371ab32fd [svn-r3888] Purpose:
Feature
Description:
    The allocation by alignment (H5Pset_alignment) feature code somehow
    got dropped in some 1.3.x version.
Solution:
    Re-implemented it with "new and improved" algorithm.  It keeps track
    of "wasted" file-fragment in the free-list too.
Platforms tested:
    modi4(parallel).
2001-05-04 00:50:11 -05:00
Quincey Koziol
d95bfd75dc [svn-r3887] Purpose:
Bug fix
Description:
    IMPORTANT! IMPORTANT! IMPORTANT!
    A case where metadata in a file could get corrupted in certain unusual
    sitations was detected and fixed.

    In certain circumstances, metadata could get cached in the raw data cache,
    and if that particular piece of metadata was updated on disk while
    incorrectly cached, the new metadata would get overwritten with the stale
    metadata from the raw data cache when it was flushed out.

    Additionally, I've patched up the raw data cache to be smarter about how
    much it caches and how much I/O it triggers, leading to some speedups.

Solution:
    Changed the raw data I/O routines which perform caching to require a
    parameter with the size of the dataset being accessed and limited the
    cache to no more than that many bytes.

Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-05-02 10:07:48 -05:00
Quincey Koziol
dff47a2054 [svn-r3886] Purpose:
Document bug fix
Description:
    IMPORTANT! IMPORTANT! IMPORTANT!
    A case where metadata in a file could get corrupted in certain unusual
    sitations was detected and fixed.

    I _strongly_ suggest upgrading to the latest snapshot after this patch is
    committed.
2001-05-02 10:05:51 -05:00
Bill Wendling
a6b0e81432 [svn-r3879] Purpose:
Documented Bug Fix
Description:
    Documented the bug fix of the Linux --enable-static-exec problem.
2001-05-01 11:43:13 -05:00
Bill Wendling
db4b7e0fee [svn-r3878] Purpose:
Update
Description:
    On further discussion with Albert and Quncey, it was decided to keep
    the original "unsignedness" of the nkeys variable.
Solution:
    Changed the type from intn to uintn.
Platforms tested:
    Linux
2001-04-30 17:28:21 -05:00
Bill Wendling
082e6a77d5 [svn-r3876] Purpose:
Bug Fix
Description:
    The --enable-static-exec flag was failing on Linux systems. The
    reason: a "long long" type was growing by some obscene amount if you
    just add 1 to it (tis truth!). In one statement, it prints out the
    correct value. Add one to it and print it out in the next statement
    and it gives you a very large number. This would, in turn, cause the
    resulting memcpy to fail...
Solution:
    Changed the variable from "hsize_t" to "intn" which is what the field
    it's getting is typed anyway.
Platforms tested:
    Linux
2001-04-30 14:57:43 -05:00
Bill Wendling
9b6e8a4cae [svn-r3858] Purpose:
Bug Fix / Sync
Description:
    Synced with the HDF5 1.5 branch.
2001-04-26 17:15:51 -05:00
Bill Wendling
56a4ecf4cc [svn-r3855] Purpose:
Sync
Description:
    Putting the fix for the Modi4 compiler in the hdf5 1.4 branch since
    it seems to be affecting the 1.4 branch as well.
Platforms tested:
    Modi4
2001-04-24 18:09:51 -05:00
Dan Wells
2f588dbecd [svn-r3852]
Purpose:
    updating RELEASE information to reflect bug fix for Pablo.
Description:
    There was a problem with building Pablo and also with MPI I/O linking.
Solution:
    Renamed conditional compilation flags.  Added entries that call MPI I/O
    functions from Pablo HDF source.
Platforms tested:
    IRIX64/VCLASS/Linux/Solaris
2001-04-24 16:25:19 -05:00
Dan Wells
b3961ff99f [svn-r3851]
Purpose:
    Bug fix.
Description:
    The Pablo instrumentation would not build because the HAVE_PABLO flag
    was renamed H5_HAVE_PABLO.  Also, there were problems with MPI I/O
    tracing when the MPI did not follow the MPI I/O standards exactly.A
Solution:
    Renamed all conditional compiliation flags so that they begin H5_ .
    Added entries HDF_MPI_xxx for all MPI I/O functions HDF_MPI_xxx used in
    HDF.  These functions record data, call the corresponding function
    MPI_xxx directly, then record exit data.  Previously this was done in
    the MPI I/O portion of the Trace Library, but caused link conflicts.
Platforms tested:
    IRIX64/IRIX32/Linux/Solaris/VClass32/VClass64
2001-04-24 16:20:05 -05:00
Albert Cheng
bce863bc3a [svn-r3849] Updated for the added file. 2001-04-24 16:11:29 -05:00
Albert Cheng
e1728a297b [svn-r3847] Purpose:
updated to v1.4 API.
Platforms tested:
    Eyeballed modi4.
2001-04-24 15:38:38 -05:00
Albert Cheng
4244889d68 [svn-r3845] Description:
updated revision date.
Platforms tested:
    modi4 (serial and parallel)
2001-04-24 15:33:48 -05:00
Albert Cheng
7ce1e08ec1 [svn-r3844] Purpose:
New feature
Description:
    Added a parallel HDF5 example.  make check knows how to
    run it in serial mode but not in parallel mode since the
    current makefile has no provision for parallel code execution.
    One would have to do it by hand (e.g., mpirun -np 2 ./ph4example)
Platforms tested:
    modi4 (serial and parallel)
2001-04-24 15:25:39 -05:00
cvs2svn
27a80efaac [svn-r3843] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-04-24 15:25:39 -05:00
Quincey Koziol
1ce5247891 [svn-r3836] Purpose:
Document bug fix.
Description:
    Documented non-zero userblock bug fix.
2001-04-23 15:11:52 -05:00
Quincey Koziol
0aef093e34 [svn-r3835] Purpose:
More tests
Description:
    Added test to verify non-zero userblocks working correctly with dataset I/O
    code.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-04-23 15:09:27 -05:00
Quincey Koziol
b317a1e80d [svn-r3834] Purpose:
Bug Fix.
Description:
    Setting a non-zero userblock size was causing raw data caching code to
    break.
Solution:
    Changed from using absolute end-of-address-space offsets in cache size
    calculations to relative offsets.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-04-23 15:06:32 -05:00
HDF Admin
596a9c1eff [svn-r3830] Snapshot version 1.4 release 1 (post0) 2001-04-21 00:45:41 -05:00
Albert Cheng
a2b9addbab [svn-r3826] Purpose:
Improvement
Description:
    The DIFF used to keep running after detecting significant code changes.
    This was done in order to see all changes but no one seems to look
    at the diff any more.  So, let it end the DIFF cycle once it determines
    there are enough differences for a new test.
    Added "install install-doc uninstall uninstall-doc" to the test
    cycle.
Platforms tested:
    v1.5 works.  This should work.  Hard to test this without launching
    the daily test.  Will let daily test shakes it down.
2001-04-19 14:52:46 -05:00
Frank Baker
d2cce99e65 [svn-r3825]
Description:
    Modified heading to reflect "Post-R1.4.1, Dev toward 1.4.2."
Platforms tested:
    IE 5
2001-04-18 17:19:37 -05:00
Frank Baker
494526db09 [svn-r3820]
Purpose:
    Repair damaged HTML coding (caused by the Netscape editor)
        and restore additions since that damage occured.
    Add h5dump subsetting material.
Description:
    Reverted to earlier version to restore HTML coding.
    Re-entered h5dump XML material and explanatory comment re h5dump
        flag parameters.
    Added h5dump subsetting material.
    Other editing and formatting within h5dump description.
Platforms tested:
    IE 5
2001-04-18 12:00:40 -05:00
Albert Cheng
178a09d44e [svn-r3819] Purpose:
Bug fix and clean up.
Description:
    The part that should test 4GB was actually testing 2GB due to
    typo.
Solution:
    Corrected the typo to use 4GB constant.  Rearranged the code
    to group 2GB and 4GB tests in their own.  Removed some duplicated
    testing code.
Platforms tested:
    modi4.
2001-04-18 10:58:03 -05:00
Bill Wendling
287db5fd55 [svn-r3815] Purpose:
Syncing with 1.5 branch
Description:
    Syncing the tools files with those in the 1.5 branch.
2001-04-16 18:48:21 -05:00
Bill Wendling
6d76ebb8d9 [svn-r3805] Purpose:
Bug Fix
Description:
    If we need to specify a -R flag for dynamic libraries (like, in the
    case when we specify --with-hdf4), then this flag needs to be added
    to the linking line so that it will show up in the generated library
    and other programs linking to that library will be able to find the
    relevant libraries.
Solution:
    Added the DYNAMIC_DIRS macro to the link line.
Platforms tested:
    Arabica
2001-04-12 14:42:26 -05:00
Bill Wendling
212d90d25d [svn-r3798] Purpose:
Bug FIx
Description:
    uninstall-doc wasn't declared in the top-level Makefile.
Solution:
    Added it.
2001-04-11 12:36:38 -05:00
Bill Wendling
fa89e8134c [svn-r3797] Purpose:
Bug Fix
Description:
    Forgot to propagate the '-c' flag if the install-sh script is being
    used. This caused some machines *cough*T3E*cough* to move instead of
    copy the files...
Solution:
    Added the -c back in with the install-sh script.
2001-04-11 12:19:08 -05:00
Albert Cheng
c1f6b093e2 [svn-r3796] Updated for the removal of pablo/ProcTrace.inc
Platforms tested:
    bin/chkmanifest
2001-04-10 15:24:21 -05:00
Dan Wells
93d80c661f [svn-r3793] Purpose:
Bug fix
Description:
    Albert said this cause a problem in the build.  File is now created
    during the "Make"
Solution:
    Removed file.
Platforms tested:
    Tested on Solaris, Origin, Linux, SP 2.
2001-04-10 11:41:15 -05:00
Albert Cheng
f83a9cbcbd [svn-r3792] Purpose:
Minor bug fix
Description:
    Changed all #include that is for non-system files (hdf5's own
    header files) from <...> style to "...".
Platforms tested:
    modi4 Parallel (-64 and -n32)
2001-04-09 16:58:16 -05:00
Albert Cheng
a756f0e0c9 [svn-r3790] Purpose:
Improvment
Description:
    H5config.h and H5pubconf.h are generated by configure.  It does
    not have the #ifndef _H5config_H ... #endif guard to prevent
    duplicated definitions if it is included more than once.
    It is messy to try make configure to put in those guards.
Solution:
    HDF5 has set an internal rule that H5public.h includes H5pubconf.h
    and H5private.h includes H5config.h.  Source files should NOT include
    H5config.h or H5pubconf.h directly but include it via H5public.h or
    H5private.h respectively.   The #ifndef ... #endif in the H5public.h
    and H5private.h would prevent repeated definitions from repeated
    include.

    Adjusted H5FDstream.c and H5FDstream.h to follow this rule.
Platforms tested:
    modi4, eirene.
2001-04-07 21:42:53 -05:00
Elena Pourmal
321fa0f5a9 [svn-r3789]
Purpose:
    Maintenance for hdf5-1.4.1-post*
Description:
    Added RELEASE.txt for hdf5-1.4.1 to the HISTORY.txt file.
    Edited RELEASE.txt file for hdf5-1.4.2 (under construction).
    I did not touch "Known problems" and "Platforms tested" sections.
    Please update those sections along with the rest of the file when you check
    your changes into CVS.
Solution:
    [details about the changes, algorithm, etc...]
    [Please as detail as you can since your own explanation is
    better than others guessing it from the code.]
Platforms tested:
    [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-04-07 19:07:33 -05:00
Elena Pourmal
a3ee4fe0b5 [svn-r3788]
Purpose:
    Maintenance
Description:
    Changed subrelease version string to "post0"
    hdf5 1_4 branch is open for checking in!
2001-04-07 18:56:48 -05:00
Albert Cheng
6cfe1ebd86 [svn-r3786] Purpose:
Release 1.4.1 version commit.
2001-04-06 16:22:01 -05:00
Albert Cheng
de30468a17 [svn-r3785] Purpose:
Bug fix
Description:
    Couple files did not get installed because they were not included
    in the Makefile.in.
Solution:
    Added them.
Platforms tested:
    Eirene.  First test: make install-doc before fix to verify the files
    are not installed.  Then put in the fix, gmake reconfigure, make
    install-doc again.  Verified the files are installed.
    Second test: distclean everything, configure, make all and check,
    make install, make install-doc.  Eyeball'ed to see the files
    are installed properly..
2001-04-06 15:07:27 -05:00
Elena Pourmal
eb9b812902 [svn-r3784]
Purpose:
    Maintenance for the hdf5-1.4.1 relese
Description:
    Updated H5_VERS_SUBRELEASE string to "" for the upcoming release.
2001-04-06 13:23:21 -05:00
Elena Pourmal
f9c019349e [svn-r3783]
Purpose:
    Maintenance for the hdf5-1.4.1 release
Description:
    "make install" and "make install-doc" move files.
    One may need to referesh source code in order to run
    build again.
Solution:
    Added description of the make install and make install-doc
    problem to the "Known Problem" section.
2001-04-06 13:21:25 -05:00
Frank Baker
20c791c5f1 [svn-r3767]
Description:
    No API changes in R1.4.1, so no changes listed in Changes.html.
Platforms tested:
    IE 5
2001-04-03 12:35:16 -05:00
Albert Cheng
9302d5e927 [svn-r3766] Description:
Updated with known problem of h5dump stderr being applcable to
    Windows too.
2001-04-03 12:27:27 -05:00
Frank Baker
4c14b7745e [svn-r3765]
Description:
    Changed XML DTD pointer to more generic "HDF5 and XML" pointer.
2001-04-03 11:59:38 -05:00
Frank Baker
af75e5da51 [svn-r3764]
Description:
    Added note that "Image Spec" and "H4-to-H5 Mapping" documents
    are still under revision and that updated versions will be posted
    at http://hdf.ncsa.uiuc.edu/HDF5/doc/ when available.
Platforms tested:
    IE 5
2001-04-03 11:33:12 -05:00
Albert Cheng
aee2673383 [svn-r3763] Description:
Updated with known problem of the h5dump error message
2001-04-03 11:23:48 -05:00
Frank Baker
a7dbac6541 [svn-r3762]
Description:
    Corrected link to "Image Details" document and added note regarding
    its being under revision at the time of the release.
2001-04-03 11:13:06 -05:00
Frank Baker
e2e4a78df7 [svn-r3761]
Purpose:
    Corrected link to "Image Details" document.
2001-04-03 11:11:12 -05:00
Raymond Lu
a5248bcbee [svn-r3760]
Purpose:
    Update RELEASE.txt
Description:
    Added information about IRIX testing;
    Deleted MPICH information.
2001-04-03 10:06:10 -05:00
Frank Baker
d04e0d9481 [svn-r3759]
Purpose:
    Added section for Release 1.4.1.
Platforms tested:
    IE 5
2001-04-03 07:09:20 -05:00
Frank Baker
9142e9d82d [svn-r3758]
Purpose:
    Updated 'Describes HDF5 Release' line to '1.4.1, April 2001'.
2001-04-03 06:49:24 -05:00
Frank Baker
797da30579 [svn-r3757]
Purpose:
    Added 2001 to list of copyright years.
Platforms tested:
    IE 5
2001-04-03 06:43:44 -05:00
Frank Baker
446946ba93 [svn-r3756]
Purpose:
    Forgot to update the "Last modified" date a minute ago.
Platforms tested:
    IE 5
2001-04-02 18:05:00 -05:00
Frank Baker
4df6f44f35 [svn-r3755]
Description:
    Added note that C++ APIs are not integrated into the RM.
Platforms tested:
    IE 5
2001-04-02 18:02:42 -05:00
Frank Baker
edf16f72d4 [svn-r3754]
Purpose:
    Minor edits found while generating the PDF/PS doc set.
Platforms tested:
    IE 5
2001-04-02 18:01:28 -05:00
Frank Baker
322edf254e [svn-r3753]
Description:
    Formatting fixes.
    Added explanatory comment to differentiate option parameter
      definitions from option definitions.
Platforms tested:
    IE 5
2001-04-02 17:51:45 -05:00
Frank Baker
546fe419bc [svn-r3752]
Purpose:
    Modifications for R1.4.1.
Platforms tested:
    IE 5
2001-04-02 17:34:28 -05:00
Frank Baker
df839af181 [svn-r3751]
Purpose:
    New "Documentation" text
2001-04-02 17:28:58 -05:00
Elena Pourmal
ddae0d34e7 [svn-r3748]
Purpose:
    Maintenance
Description:
    I updated platforms and compilers information according to the
    hdf5-1.4.1-pre2 testing reports.
2001-04-02 11:56:04 -05:00
Quincey Koziol
c50c4e600a [svn-r3737] Purpose:
Update docs
Description:
    Updated version of FreeBSD from 4.2 to 4.3
2001-03-29 11:48:52 -05:00
Albert Cheng
5d1735238d [svn-r3735] Updated. 2001-03-29 09:39:52 -05:00
MuQun Yang
64a3c6ba4a [svn-r3733]
Purpose:
    modify the document
Description:
    If the user wants to have their own zlib,they need to remove H5_HAVE_LIBZ and
    H5_HAVE_COMPASS2 in both H5config.h and **H5pubconf.h**.
Solution:
Platforms tested:
2001-03-28 18:40:04 -05:00
Bill Wendling
0b72ee6c7e [svn-r3730] Purpose:
Formatting
Description:
    Lined up the headers.
2001-03-28 15:21:35 -05:00
Bill Wendling
c7a759aef0 [svn-r3729] Purpose:
Update
Description:
    Updated compiler we tested for for the HPUX 11.00 platform and put in
    "known bugs" that you can't compile on HPUX 11.00 with
    --enable-static-exec.
2001-03-28 15:15:42 -05:00
MuQun Yang
73d4b7034e [svn-r3728]
Purpose:
    rearrange project settings for hdf5 tools in order to make it consistent with tools subdirectory
under CVS tree
Description:
Solution:
Platforms tested:
    windows 2000
2001-03-28 13:06:28 -05:00
MuQun Yang
403143c9bf [svn-r3727]
Purpose:
    rearrange projects to make it compatiable with cvs tools subdirectories
Description:
Solution:
Platforms tested:
     windows 2000
2001-03-28 13:04:54 -05:00
Binh-Minh Ribler
81f61d5cb5 [svn-r3726]
Purpose:
    Problem suppressing
Description:
    The dsets.cpp/compression (write) test failed on eirene for
    1.4 branch.  I suspected that the problem had something to do with
    the word size (32 vs. 64), but I'm not sure.  Elena and Quincey
    agreed that we take the test out for now since we don't have
    a fix for it at this time.
Solution:
    Used #if defined (__linux__) to temporarily disable the
    test_compression test for this platform.
Platforms tested:
    arabica (solaris 2.7)
    eirene (linux 6.2)
2001-03-27 21:37:28 -05:00
Albert Cheng
fcc5355744 [svn-r3725] Snapshot version 1.4 release 1 (pre2) 2001-03-27 11:47:37 -05:00
Albert Cheng
2b3b5cc556 [svn-r3724] Purpose:
Improvement
Description:
    Changed the default value of $NPROCS from 2 to 3.  This is the
    value libSAF uses since 3 processes have a much bigger chance
    catching parallel errors than just 2 processes.
    Changed the default dataset sizes from 800 to 1200 so that it is
    a multiple for 3 (and 8 too which is ofter used in the Tflops test.)
Platforms tested:
    Modi4 (IRIX64) both serial and parallel modes.
2001-03-27 11:32:08 -05:00
Albert Cheng
5ab5c1d665 [svn-r3723] Purpose:
new test
Description:
    Added two new tests.
    test_mpio_offset:
	Verify that MPI_Offset exceeding 2**31 can be computed correctly.
    test_mpio_gb_file
	Test if MPIO can write file from under 2GB to over 2GB and then
	from under 4GB to over 4GB.
Platforms tested:
    modi4(-64, -n32), tflops.
2001-03-27 11:02:48 -05:00
Binh-Minh Ribler
8399082916 [svn-r3722] Purpose: Code cleanup and adding more test
Description:
    dsets.cpp:
        - Added routine's headers to be consistent with the C tests
        - Added the following tests (they are not in the C version
        test because they are C++ specific):
            + Test copying a user-defined type using DataType::copy
            + Test copying a user-defined type using DataType::operator=
            + Test copying a user-defined int type using DataType::operator=
            + Test copying an integer predefined type using a constructor
            + Test copying an integer predefined type using DataType::operator=

    th5s.cpp and tfile.cpp:
        - Changed routine's headers to be consistent with the C tests
        - Cleanup old couts and statements used during debugging

Platforms tested:
    arabica (sparc-sun-solaris 2.7)
2001-03-26 22:00:16 -05:00
Binh-Minh Ribler
9bf7d0ab65 [svn-r3721] Purpose: Update
Description:
    Added the ./c++/test/th5s.h5 file to the MANIFEST
2001-03-26 21:49:15 -05:00
Binh-Minh Ribler
2d79c4652d [svn-r3720] Purpose: Bug fixes and code clean up - 1.4 branch
Description and Solution:

        - Predefined type objects become outdated when the application calls
        H5close and then H5open to use the library again.

        Solution:
            + Reimplemented PredType using enum type to obtain up-to-date
                values for predefined types, i.e. H5T_xxx_yyy's, when they
                are used.
            + Added to PredType its own version of getId() to return the
                appropriate predefined type id according to the enum value.
            + Made IdComponent::getId() a virtual function

        - Since Albert already fixed the "multiply defined RcsId" problem,
        removed the now become unnessary "#undef RCSID" from H5Include.h

        - Added a check for func_name != NULL in one of the Exception
        constructors because seg. fault. might occur in some situations.

        - It is more convenient to make a copy of a datatype, dataspace,
        or property list by using assignment operator

        Solution:
            + Added assignment operator to DataType, DataSpace, and
                PropList so that they will invoke H5Tcopy, H5Scopy,
                and H5Pcopy, respectively, instead of just simply
                copying the data members as for other classes.  So,
                now a type, space, or property list can be copied by
                either :
                        mytype = original_type, or
                        mytype.copy(original_type)
                Note that copy constructors are still just copying the
                data members.
            + Added an assignment operator to DataType that takes a
                predefined type.
            + Made IdComponent::operator= a virtual function

Platforms tested:
        arabica (sparc-sun-solaris 2.7)
2001-03-26 21:46:53 -05:00
Binh-Minh Ribler
b9a636874a [svn-r3719] Purpose:
Improve C++ API test output appearance - 1.4 branch
Description:
    The C++ API tests are not easy to be spotted because their output
    look similar to part of the C tests.
Solution:
    Added "C++ API:" in front of the C++ test titles.
Platforms tested:
    arabica (sparc-sun-solaris 2.7)
2001-03-26 21:38:39 -05:00
Bill Wendling
b21ade680f [svn-r3716] Purpose:
Bug Fix
Description:
    changed the T flag to S in the short parameter's list.
Platforms tested:
    Linux
2001-03-26 17:20:44 -05:00
Bill Wendling
e517058a95 [svn-r3715] Purpose:
Bug Fix
Description:
    Stride flag was checked as being -T instead of -S as it should be...
Solution:
    Changed to check -S instead of -T.
Platforms tested:
    Linux
2001-03-26 17:18:51 -05:00
Bill Wendling
2a15ef1ee8 [svn-r3713] Purpose:
Update
Description:
    Removed ./doc/html/Tutor/examples/java/Makefile since it's generated.
2001-03-26 15:32:23 -05:00
Bill Wendling
9d8f65f366 [svn-r3712] Purpose:
Update
Description:
    Added our Makefile.in to the frey. Included the files in this
    directory. Removed the Makefile since it's going to be generated and
    shouldn't be installed...
Platforms tested:
    Linux
2001-03-26 15:31:11 -05:00
Barbara Jones
1c456be9b9 [svn-r3711]
Description:
    Added java examples to the MANIFEST
2001-03-26 13:30:05 -05:00
Barbara Jones
80d0834d31 [svn-r3710]
Add java examples again!
2001-03-26 13:18:24 -05:00
Barbara Jones
2140a47dc5 [svn-r3709] Description:
Added java examples to the HDF5 tutorial
2001-03-26 12:40:29 -05:00
HDF Admin
47906b836f [svn-r3706] Snapshot version 1.4 release 1 (pre1) 2001-03-24 02:50:55 -05:00
Bill Wendling
24bd4f7bbc [svn-r3705] Purpose:
Update
Platforms tested:
    chkmanifest
2001-03-23 16:24:30 -05:00
Bill Wendling
72ce6a6873 [svn-r3704] Purpose:
Reformatting.
2001-03-23 14:28:32 -05:00
Bill Wendling
0522c42e7a [svn-r3703] Purpose:
Hack removal
Description:
    readded Makefile in java examples directoyr.
2001-03-23 14:25:00 -05:00
Bill Wendling
30d0bfe906 [svn-r3702] Purpose:
Fix
Description:
    Readded generation of Makefile in the java examples directory.
2001-03-23 14:24:45 -05:00
Bill Wendling
0fe5046855 [svn-r3701] Purpose:
Add
Description:
    Need Dependencies file for hte Makefile.
2001-03-23 14:23:22 -05:00
Bill Wendling
29801c3770 [svn-r3700] Purpose:
Fix
Description:
    Stop make from recursing needlessly in these subdirectories.
2001-03-23 14:22:54 -05:00
Bill Wendling
401ec5ed98 [svn-r3699] Purpose:
Fix
Description:
    Removed the java install hack...
2001-03-23 14:21:16 -05:00
Bill Wendling
615a1fa336 [svn-r3698] Purpose:
Update
Description:
    Added the Makefile.txt and Makefile.in.txt.
2001-03-23 14:20:45 -05:00
Bill Wendling
e1351ca633 [svn-r3697] Purpose:
File Movement
Description:
    Created a real Makefile.in here and moved the Makefile.in and
    Makefile to *.txt.
2001-03-23 14:20:09 -05:00
Albert Cheng
62fa26dc66 [svn-r3696] Purpose:
Updated.
Platforms tested:
    bin/chkmanifest in eirene.
2001-03-22 17:15:23 -05:00
Bill Wendling
73cca99a2a [svn-r3694] Purpose:
Cleanup
Description:
    Dependencies file isn't needed in this directory.
Solution:
    Removed
2001-03-22 15:15:36 -05:00
Bill Wendling
6d99354c4d [svn-r3692] Purpose:
Bug Fix
Description:
    testpar/Makefile was being generated even if parallel wasn't
    specified.
Solution:
    Conditionally create this file only if parallel is specified.
Platforms tested:
    Linux
2001-03-22 13:16:18 -05:00
Bill Wendling
c041a0dc92 [svn-r3691] Purpose:
Bug FIx
Description:
    Makefiles were being generated for the HDF4 and parallel stuff even
    if they weren't being used.
Solution:
    Conditionally create those files now. I check if the Parallel and
    HDF4 stuff is specified and then create them.
Platforms tested:
    Modi4 and Linux
2001-03-22 13:15:04 -05:00
Bill Wendling
011b427e13 [svn-r3690] Purpose:
Bug Fix
Description:
    Applied hack from 1.5 branch so that it will install the
    html/Tutor/examples/java directory successfully. The make's in that
    directory were failing because of this.
2001-03-22 13:12:31 -05:00
Bill Wendling
f336257bc8 [svn-r3689] Purpose:
Bug Fix
Description:
    Added the hack which is in the 1.5 branch that allows the documents
    to have "subdirectories" which it installs...
2001-03-22 13:11:40 -05:00
Bill Wendling
a2163cc6fc [svn-r3688] Purpose:
Fix
Description:
    These files weren't added in when I did the original code splitting.
Solution:
    Readded them.
2001-03-22 12:25:48 -05:00
Albert Cheng
7321946d93 [svn-r3686] Updated. 2001-03-21 18:18:55 -05:00
Bill Wendling
9c6b1e47c7 [svn-r3685] Purpose:
UPdate
Description:
    Shows the code movement done.
2001-03-21 18:07:05 -05:00
Bill Wendling
159482fa07 [svn-r3684] Purpose:
Code Movement
Description:
    Added code to generate the Makefiles in the newly created tools
    subdirectories.
Platforms tested:
    Linux
2001-03-21 18:01:56 -05:00
Bill Wendling
61aa32678b [svn-r3683] Purpose:
Code Movement
Description:
    Moved tools into their own separate subdirectories. The tools were
    first synced with the 1.5 branch, so there are some features in the
    dumper which aren't ready for prime-time yet, but are marked as
    EXPERIMENTAL right now.
Platforms tested:
    Linux
2001-03-21 18:00:52 -05:00
cvs2svn
e201d20b00 [svn-r3682] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-03-21 18:00:52 -05:00
HDF Admin
49e5246d5a [svn-r3679] Snapshot version 1.4 release 1 (pre0) 2001-03-21 12:48:35 -05:00
Albert Cheng
771c9da9c5 [svn-r3676] Purpose:
Bug fix (sort of)
Description:
    The RCSID string in H5public.h was causing the C++ code problem as it
    was included multiple times and C++ did not like multiple definitions
    of the same static variable.
Solution:
    Since we don't really make use of the RCSID strings as we have not
    installed it in all source files, we decided to remove it.
Platforms tested:
    eirene (linux), modi4 (IRIX64-64) both serial and parallel modes.
2001-03-20 16:09:43 -05:00
Elena Pourmal
c65c1d2523 [svn-r3675]
Purpose:
    Update for hdf5 1.4.1 release
Description:
    Information in HISTORY.txt and RELEASE.txt files should be updated
    for the upcoming hdf5 1.4.1 release.
Solution:
    I created a new section for the HDF5 1.4.0 release in the HISTORY.txt
    file and copied RELEASE.txt into it.
    I updtaed RELEASE.txt to be the release file for HDF5 1.4.1.
Platforms tested:
2001-03-20 14:18:01 -05:00
Albert Cheng
6da03040a2 [svn-r3674] Peurpose:
Changed the version information to 1.4.0-pre0, preparing for
    1.4.1 release.
Platforms tested:
    Modi4 (IRIX64) serial and parallel modes.
2001-03-20 13:29:57 -05:00
Barbara Jones
3beb8880c0 [svn-r3673]
Description:
Added h5_ref2obj.c and h5_ref2reg.c.
2001-03-20 13:22:52 -05:00
Barbara Jones
9147dd1ae8 [svn-r3672] Description:
h5_ref2reg.c was missing
2001-03-20 13:20:12 -05:00
Barbara Jones
8fbdc7fbe3 [svn-r3671]
Description:
h5_ref2obj.c was missing.
2001-03-20 13:19:51 -05:00
Barbara Jones
57d6c3fa57 [svn-r3670] Description:
Found typo... specified mount.f90, when it should have been
mountexample.f90.
2001-03-20 13:16:05 -05:00
Bill Wendling
d8b6238ff7 [svn-r3669] Purpose:
Update
Description:
    Moved some things around so that they'd be in alphabetical ordier.
2001-03-20 13:05:05 -05:00
Elena Pourmal
68ad879114 [svn-r3668]
Purpose:
    Update
Description:
    F90 files have been added to the ./doc/html/Tutor/examples directory
    Also two files have been added to the ./doc/html/Tutor/ directory.
    MANIFEST file did not reflect those changes in the source tree.
Solution:
    Added missing files to the MANIFEST file.
Platforms tested:
    NONE
2001-03-20 12:37:15 -05:00
Frank Baker
dfaef91c67 [svn-r3667] Purpose:
Bugfix.
Description:
    h5dopen_f -- Added dset_id parameter.
Platforms tested:
    IE 5
2001-03-19 18:29:09 -05:00
Frank Baker
b03ed1dcec [svn-r3666]
Purpose:
    Bugfixes and a new description of file-closing behavior.
Description:
    h5.intro.html -- Fixed HTML coding errors.
    RM_H5.html -- H5close -- Corrected typo.
    RM_H5F.html -- H5Fclose -- Added paragraph clarifying behavior if
            any OIDs for contained objects are still open.
    RM_H5T.html -- H5Tget_strpad -- Corrected description; appears that
            this did not get updated in synchrony with H5Tset_strpad.
        H5Tset_strpad -- Corrected 'strpad' parameter description.
    RM_H5S.html -- H5Sselect_valid -- Corrected description of space_id
             parameter.
    RM_H5P.html -- H5Pget_driver -- Corrected return type.
Platforms tested:
    IE 5
2001-03-19 18:26:51 -05:00
Bill Wendling
dadeb7e4f8 [svn-r3661] Purpose:
Update
Description:
    Added new files.
2001-03-19 14:10:16 -05:00
Bill Wendling
58c607e236 [svn-r3660] Purpose:
Update
Description:
    Added the Fortran sample files.
2001-03-19 12:50:24 -05:00
Barbara Jones
f11cef2c56 [svn-r3659]
Added html files with references to the fortran 90 files.
(under examples/)
2001-03-19 09:26:47 -05:00
Barbara Jones
380eb42bc5 [svn-r3657] Description:
Added Fortran 90 examples
2001-03-19 09:15:37 -05:00
Albert Cheng
a30241435d [svn-r3655] Purpose:
adjustment
Description:
    When gondolin failed the 1.5 test, it moved ahead for the 1.4 test.
    The 1.5 test usually takes 1 hour to complete but runtest only waited
    30 minutes for the 1.4 cvs update to complete.  So, gondolin ended
    up failing the 1.4 test too.
Solution:
    Changed the wait time to 90 minutes.
    Added echo statements showing it is waiting for some event. This
    would help the human knowing it is waiting for something.
    Added more comments about the algorithm of the waiting.
Platforms tested:
    Gotta be right. :-)
2001-03-17 10:20:38 -05:00
Quincey Koziol
1bfaa99087 [svn-r3654] Purpose:
Bug Fix
Description:
    Partial hyperslabs which exactly fit the size of the lowest dimension of
    a chunked dataset weren't being output correctly.
Solution:
    Forgot to divide the offset (seq_len) by the size of the lower dimension
    hyperslabs - fixed now.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-03-17 07:37:58 -05:00
Bill Wendling
cb7823388b [svn-r3645] Purpose:
Bug Fix
Description:
    The test programs weren't compiling correctly. They weren't added to
    the TEST_OBJ macro, so make didn't know about them.
Solution:
    Added them to the TeST_OBJ macro as in the C tests.
Platforms tested:
    Linux
2001-03-15 14:17:47 -05:00
Elena Pourmal
44047587c1 [svn-r3644]
Purpose:
    Port to DEC ALPHA running LINUX
Description:
    Added necessary definitions to the fortran header file for LINUX port.
Platforms tested:
    DEC ALPHA LINUX and DEC OSF
2001-03-15 13:17:01 -05:00
Elena Pourmal
ad80cc25ea [svn-r3643]
Purpose:
    Port to DEC ALPHA running LINUX
Description:
    I added alphaev67-linix-gnu configuration files to ./config and ./fortran/config
    directories.
Platforms tested:
    DEC ALPHA LINUX and DEC OSF
2001-03-15 13:16:20 -05:00
Elena Pourmal
3718a608c6 [svn-r3642]
Purpose:
    Port to DEC ALPHA running LINUX
Description:
    I added alphaev67-linix-gnu configuration files to ./config and ./fortran/config
    directories.
Platforms tested:
    DEC ALPHA LINUX and DEC OSF
2001-03-15 13:16:08 -05:00
Bill Wendling
330509e64e [svn-r3641] Purpose:
Bug Fix
Description:
    H5FDstream.h was trying to be installed more than once.
Solution:
    Removed redundant declarations
Platforms tested:
    Linux
2001-03-15 12:18:47 -05:00
MuQun Yang
569c51ed05 [svn-r3638]
Purpose:
  update all.zip and all_withhdf4.zip for 1.4 branch
Description:
     1) eliminating warnings and fixing bugs
     2) rearrange projects settings
Solution:
Platforms tested:
    windows 2000
2001-03-14 18:14:30 -05:00
Bill Wendling
29d2bf06bf [svn-r3631] Purpose:
Update
Description:
    Added the th5s test.
Platforms tested:
    Linux
2001-03-14 13:33:11 -05:00
Bill Wendling
6e160fa1e5 [svn-r3629] Purpose:
Feature Add
Description:
    Added "real" testing to the C++ library.
Platforms tested:
    Linux
2001-03-14 13:10:55 -05:00
Bill Wendling
fcfa277476 [svn-r3628] Purpose:
Bug Fix
Description:
    H4TOH5TEST was added to the configure script, but autoconf wasn't
    rerun to regenerate the configure.
Solution:
    Reran autoconf
Platforms tested:
    Linux
2001-03-14 13:05:18 -05:00
Robert E. McGrath
d07e626066 [svn-r3626] Purpose:
Partially backs out of previous change.
Description:
    Adjusting the order of elements in the XML output to slightly
    reduce likelyhood of forward references.
    Output unchanged except for order.

    Note:  Some test output is revised to match new output.
Platforms tested:
    Solaris, Linux
2001-03-14 09:38:58 -05:00
Binh-Minh Ribler
d04d3c94e3 [svn-r3623]
Purpose:
    Adding test source files
Description:
    Adding these files hdf5/c++/test/ for C++ API tests:
	dsets.cpp : program and functions that test dataset interface
	tfile.cpp : functions that test file interface
	th5s.cpp : functions that test dataspace interface
	testhdf5.cpp : main program that invokes many tests, but only
		file and dataspace interfaces at this time
Platforms tested:
    Hopefully this change didn't cause any failure. :)
2001-03-14 07:33:30 -05:00
Binh-Minh Ribler
e341ea6504 [svn-r3622]
Purpose:
    Adding tests to the C++ API 1.4 branch
Description:
    The C++ API in 1.4 branch has no formal testing yet.
Solution:
    Added tests for file, dataset, and dataspace interfaces.  I'm still
    working on other tests.
Platforms tested:
    arabica (sparc-sun-solaris 2.7)
2001-03-13 23:42:20 -05:00
cvs2svn
1c47477b05 [svn-r3621] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-03-13 23:42:20 -05:00
Binh-Minh Ribler
c5adbd01ac [svn-r3620]
Purpose: Updating as in 1.5 branch

Description:
	The C++ API source code was modified in 1.5 branch, mainly to
	improve usability in exception handlings.  Updated 1.4 C++
	source code to match.

Platform:
	arabica (sparc-sun-solaris 2.7)
2001-03-13 23:34:39 -05:00
Bill Wendling
538f287a4a [svn-r3618] Purpose:
Bug Fix
Description:
    The output wasn't matching the output from the new testh5dump.sh
    commands.
Solution:
    Modified the output so they match. Mostly just changing the
    parameters passed to h5dump and adding `/' to attribute names so that
    they'll be standard.
Platforms tested:
    Linux
2001-03-13 11:53:15 -05:00
MuQun Yang
4382285a8b [svn-r3617]
Purpose:
   update h4toh5 testing files list
Description:
Solution:
Platforms tested:
2001-03-13 11:29:27 -05:00
Bill Wendling
1ffd43e5f6 [svn-r3616] Purpose:
Bug Fix
Description:
    The changes to this file were lost when I split the files into
    subdirectories in the 1.5 branch. Why? I don't know.
Solution:
    Readded the changes back in.
Platforms tested:
    Linux
2001-03-13 10:44:32 -05:00
Albert Cheng
d4d3835803 [svn-r3614] Purpose:
Bug fix
Description:
    removed two debug statements used before.
2001-03-13 08:44:04 -05:00
Albert Cheng
c601f48574 [svn-r3612] Purpose:
new feature
Description:
    Added a new option -nocvs for no cvs commands.
    Added a locking mechanism to show CVS checkout in progress
    and other hosts should wait till it is done.
Platforms tested:
    gondolin
2001-03-13 00:27:53 -05:00
MuQun Yang
d3d60bdf87 [svn-r3610]
Purpose:
    avoid a windows bug for string handling at h4toh5test.c
Description:
Solution:
Platforms tested:
     windows 2000, linux
2001-03-12 15:21:41 -05:00
Elena Pourmal
421dd50964 [svn-r3609]
Purpose:
    Bug fix
Description:
    ./fortran/testpar/thdf5.f90 line was included twice in the file
Solution:
    Removed
Platforms tested:
2001-03-12 13:04:39 -05:00
MuQun Yang
d425c11375 [svn-r3606]
Purpose:
    change RGB into HDF5_RGB since RGB is a keyword for windows
Description:
Solution:
    Maybe someday I will summarize the keywords on windows so that we will
   not accidently redefine macro.
Platforms tested:
   eirene
2001-03-12 12:15:15 -05:00
MuQun Yang
9bd9d08a1d [svn-r3605]
Purpose:
    update h4toh5 converter in release.txt
Description:
    Now add the information of bug fixing of h4toh5 image etc. conversion
Solution:
Platforms tested:
2001-03-12 10:39:25 -05:00
MuQun Yang
b8d963dc34 [svn-r3604]
Purpose:
    Adding "Return" after each line of ./tools/testfiles/*.hdf
Description:
Solution:
Platforms tested:
    eirene
2001-03-12 09:53:35 -05:00
MuQun Yang
dd93ad4862 [svn-r3600]
Purpose:
    update
Description:
Solution:
     Add h4toh5test.c and new h4toh5 converter testfiles,
     remove old h4toh5 converter testfiles
Platforms tested:
2001-03-09 19:00:11 -05:00
MuQun Yang
6fd91a1f40 [svn-r3599]
Purpose:
    arrange configure.in to include compiling h4toh5test
Description:
Solution:
     Adding a macro H4TOH5TEST
Platforms tested:
     linux, solaris 2.7
2001-03-09 18:53:53 -05:00
MuQun Yang
7d7b28e602 [svn-r3598]
Purpose:
    adding a test source code for generating h4toh5 test files
Description:
Solution:
Platforms tested:
     linux and solaris 2.7
2001-03-09 18:50:44 -05:00
MuQun Yang
2ddb74e11d [svn-r3597]
Purpose:
    rearrage test file names for converting new test files
Description:
Solution:
Platforms tested:
    eirene,arabica(linux and solaris 2.7)
2001-03-09 18:49:29 -05:00
MuQun Yang
f351e2724a [svn-r3596]
Purpose:
    a bug fix
Description:
    fix a few constants at this header file for fitting image spec.
Platforms tested:
    eirene,arabica
2001-03-09 18:47:48 -05:00
MuQun Yang
1a426273b9 [svn-r3595]
Purpose:
    a bug fix
Description:
    adding a few attributes for hdf5 image spec.
Solution:
Platforms tested:
    eirene, arabica
2001-03-09 18:46:31 -05:00
MuQun Yang
1965c76749 [svn-r3594]
Purpose:
     a bug fix
Description:
     special vdata chunking table is converted into hdf5 dataset
Solution:
     add a filter to filter out this chunking table
Platforms tested:
    eirene,arabica
2001-03-09 18:45:28 -05:00
MuQun Yang
ce84bb5a8a [svn-r3593]
Purpose:
     a bug fix
Description:
     image dimension order is different between hdf4 and hdf5
Solution:
     swap the order of hdf4 dimension at image
Platforms tested:
    eirene, arabica
2001-03-09 18:43:33 -05:00
MuQun Yang
10c2b3cb1b [svn-r3592]
Purpose:
    allow h4toh5test to be compiled
Description:
Solution:
Platforms tested:
     LINUX(eirene), solaris 2.7(arabica)
2001-03-09 18:40:50 -05:00
MuQun Yang
8e42638bb1 [svn-r3588] Removed unneeded files 2001-03-09 18:21:17 -05:00
MuQun Yang
14396a74c3 [svn-r3587] anfile.hdf anno_obj.hdf 2001-03-09 18:18:27 -05:00
Albert Cheng
c5a940d13f [svn-r3554] Purpose:
Code improvement
Description:
    Changed it so that $H5VERSION determines which version of hdf5
    code to do cvs checkout and to test, making it easier to handle
    new versions.
Platforms tested:
    run simple test to make sure it did generate the right command.
2001-03-07 20:20:39 -05:00
Frank Baker
254d0a79b3 [svn-r3548]
Purpose:
    Correcting errors in two FORTRAN90 function names
Description:
    h5rget_region_region_f     -->  h5rget_region_f
    h5rget_object_type_obj_f   -->  h5rget_object_type_f
Platforms tested:
    IE 5
2001-03-05 16:13:04 -05:00
Elena Pourmal
d0b8c9b23f [svn-r3544]
Purpose:
    Bug fix
Description:
    Function name h5rget_object_type_obj_f was used in test program
    instead of the generic name h5rget_object_type_f.
Solution:
    Changed the name.
Platforms tested:
    Linux (eirene)
2001-03-02 17:20:39 -05:00
Frank Baker
ea82f9e04d [svn-r3541]
Purpose:
    Bug fix
Description:
    Corrected "Raw Data I/O" code example #2.
        H5Sset_hyperslab --> H5Sselect_hyperslab
Platforms tested:
    IE 5
2001-03-02 16:15:53 -05:00
Bill Wendling
517662fdce [svn-r3539] Purpose:
Bug Fix
Description:
    The RUNSERIAL and RUNPARALLEL macros aren't needed (and aren't set)
    for the C++ stuff and were causing errors when people tried to test
    the code.
Solution:
    Removed them
Platforms tested:
    Linux
2001-03-02 13:17:59 -05:00
Bill Wendling
5246af2c9d [svn-r3538] Purpose:
Bug Fix.
Description:
    When the user would do a ``make check'' without doing a ``make all''
    first, the tests in the examples directory wouldn't build correctly.
Solution:
    Added the tests to the TEST_PROGS macro instead of the PROGS macro.
Platforms tested:
    Linux
2001-03-02 13:16:29 -05:00
Bill Wendling
a2496b4a6f [svn-r3533] Purpose:
Bug FIx
Description:
    We weren't installing the C++ header files.
Solution:
    Added all of the *.h files to the PUB_HDR macro in the Makefile so
    that they'd be installed.
Platforms tested:
    Linux
2001-03-01 15:48:47 -05:00
Quincey Koziol
a5ead23568 [svn-r3529] Purpose:
Bug fix.
Description:
    Fencepost error in determining number of elements to include in a
    partial hyperslab for a chunk.
Solution:
    Changed "<down_size[i]"s into "<=down_size[i]"s in a few places, to allow
    for exactly one slab being left to output/input.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-02-28 16:07:26 -05:00
Albert Cheng
94294acd44 [svn-r3525] Purpose:
Bug fix
Description:
    Updated its default H5DIR value to the correct version branch
    it is in now.
Platforms tested:
    Will be tested by the daily test cron job.
2001-02-28 09:49:25 -05:00
Albert Cheng
742c3b080a [svn-r3524] Purpose:
Upgrade
Description:
    Folded changes done in v1.5 into this branch.
    Changed the default version to -r1.4 for snapshot.
Platforms tested:
    Eirene & all other test hosts.
2001-02-27 23:51:21 -05:00
Albert Cheng
54f9d411bb [svn-r3518] This is the release 1.4.0 version. 2001-02-27 12:39:04 -05:00
Robert E. McGrath
77870af8f1 [svn-r3511]
Purpose:
    Updating the man page for h5dump.
Description:
    mentions the h5dump --xml.
2001-02-23 17:35:15 -05:00
Robert E. McGrath
07966076a8 [svn-r3510]
Purpose:
    Updating the MANIFEST and RESEASE
Description:
    mentions the h5dump --xml.
2001-02-23 17:34:58 -05:00
Robert E. McGrath
78db38652f [svn-r3507]
Purpose:
    This adds in the --xml option to the hdf5.1.4 branch
Description:
    XML output.
Platforms tested:
    Linux, solaris
2001-02-23 17:16:57 -05:00
Bill Wendling
7bc667ee29 [svn-r3505] Purpose:
Bux Fig
Description:
    The different "clean" options should recurse through the directories.
    They weren't and some errand Makefile's would be left after a
    "distclean".
Solution:
    Made it do just that.
Platforms tested:
    Linux
2001-02-23 16:47:36 -05:00
Bill Wendling
e8316ff8c6 [svn-r3504] Purpose:
Fix
Description:
    There was a small error in the install-doc stuff. First, we needed to
    generate the Makefile in the html/Intro directory (configure* fixes)
    and then the Makefile needed a Dependencies file.
Solution:
    Added Dependencies file and the Makefile generation thingy to the
    configure stuff.
Platforms tested:
    Linux
2001-02-23 12:37:34 -05:00
cvs2svn
5983d2b628 [svn-r3502] This commit was manufactured by cvs2svn to create branch 'hdf5_1_4'. 2001-02-23 12:26:01 -05:00
Quincey Koziol
fadbd4bcee [svn-r3501] Purpose:
Bug Fixes
Description:
    Wrote test to exercise hyperslab I/O on chunked datasets where the
    hyperslabs aren't aligned on exact dimension boundaries.
Platforms tested:
    FreeBSD 4.2. (hawkwind)
2001-02-23 12:17:24 -05:00
Quincey Koziol
cbe375f9cc [svn-r3500] Purpose:
Bug Fixes
Description:
    Fixed a bug in H5Shyper.c where 'contiguous' hyperslabs (i.e. ones which
    took up an entire dataset) were not being detected correctly and would
    instead be read a part at a time instead of all at once.

    Also fixed a bug in the handling of hyperslabs for chunked datasets where
    hyperslabs from chunks which weren't aligned on exact dimension bounaries
    were not reading/writing data correctly.
Solution:
    H5Shyper.c was a single line change from a 'block' size to a 'count' size.

    H5Fseq.c changes we much more significant and involved detecting when
    non-chunk aligned sequences of data were being written and constructing
    hyperslab blocks to pass down to the chunking I/O routine (which only
    understand hyperslab I/O requests, not element sequence requests).
    This was complicated by the need to align the hyperslabs requested on
    dimension boundaries...

Platforms tested:
    FreeBSD 4.2. (hawkwind)
2001-02-23 12:16:58 -05:00
Quincey Koziol
b4aebf1f91 [svn-r3499] Purpose:
Update docs
Description:
    Updated release notes with post 1.4.0 bug fixes.
2001-02-23 12:15:37 -05:00
Elena Pourmal
841939cb09 [svn-r3498]
Purpose:
    Update
Description:
    Updated the H5_VERS_SUBRELEASE string to be "post0".
    hdf5 1_4 branch is open for checking in!
2001-02-23 12:02:41 -05:00
Frank Baker
5fc2f23ed0 [svn-r3483]
Purpose:
    Updated from hdf5/RELEASE.txt.
Platforms tested:
    IE 5
2001-02-21 16:44:18 -05:00
Frank Baker
5c929dfe23 [svn-r3482]
Purpose:
    Formatting cleanup.
Description:
    Fixed areas where file was more than 80 characters wide.
    Regularized some of the formatting (white space) across sections.
Platforms tested:
    Viewed in vi.
2001-02-21 16:39:39 -05:00
Frank Baker
ec7bfce84b [svn-r3478]
Description:
    Added "Supported Configuration Features Summary" tables.
    Created "Documentation" section.
    Fixed a couple of spelling errors.
    Corrected link for Cray-specific F90 source files.
Platforms tested:
    Viewed in vi.
2001-02-21 16:14:54 -05:00
Frank Baker
1a1fc4f0a0 [svn-r3477]
Purpose:
    Reflecting changed filenames.
Description:
    Changed references to RELEASE and HISTORY to RELEASE.txt and HISTORY.txt.
Platforms tested:
    IE 5
2001-02-21 13:19:40 -05:00
Albert Cheng
683fb8d0b4 [svn-r3476] Purpose:
Update
Description:
    Changed the "description to reflect what it is changes from v.122
    to 140.
    Added a section of migration to show how to move from v.122 to v140.
Platforms tested:
    Viewed by IE5.
2001-02-21 07:18:16 -05:00
Frank Baker
24000cb5f6 [svn-r3474]
Purpose:
    Updating hdf5/doc/html/ADGuide/RELEASE.txt from hdf5/RELEASE.txt.
Platforms tested:
    IE 5
2001-02-20 15:57:47 -05:00
Frank Baker
5a21563a18 [svn-r3472]
Description:
    Minor edits.
Platforms tested:
    IE 5
2001-02-20 12:24:21 -05:00
Frank Baker
1941c9bc3d [svn-r3471]
Description:
    Added link to fortran/F90Flags.html.
Platforms tested:
    IE 5
2001-02-20 12:21:02 -05:00
Frank Baker
31d0fc8b48 [svn-r3470]
Description:
    Added link anchor at "F90 Datatypes" so that fortran/F90Flags.html
    could link to this area.
Platforms tested:
    IE 5
2001-02-20 12:19:52 -05:00
Frank Baker
fbb9009151 [svn-r3469]
Purpose:
    Removed an F90 function
Description:
    Removed h5tinsert_array_f as underlying C function has been removed
    from library.
Platforms tested:
    IE 5
2001-02-20 12:17:23 -05:00
Frank Baker
8e30a40405 [svn-r3468]
Purpose:
    Updated "Describes HDF5 Release..." line for R1.4.
Platforms tested:
    IE 5
2001-02-20 12:11:47 -05:00
Frank Baker
8af1845dd3 [svn-r3467]
Purpose:
    Added ./doc/html/fortran/F90Flags.html.
2001-02-20 12:09:52 -05:00
Frank Baker
1a48afc0d8 [svn-r3466]
Purpose:
    New "F90 Flags and Datatypes" document.
Description:
    New document listing F90 flags and pointing to F90 datatypes.
Platforms tested:
    IE 5
2001-02-20 12:07:34 -05:00
Albert Cheng
defaac17fa [svn-r3464] Description:
Updated with the OpenMP "support" with the reference to the
    OpenMP writeup in TechNotes.
2001-02-19 18:22:34 -05:00
Albert Cheng
b4b58b95b7 [svn-r3463] Purpose:
Updated with AIX (IBM SP2) serial and parallel information
2001-02-19 17:42:45 -05:00
Bill Wendling
7787eadde5 [svn-r3462] Purpose:
Update
Description:
    Forgot to put the pointer to Robb's Thread Safety doc in the v1.4
    branch
Solution:
    Lobotomy
Platforms tested:
    Babbage Difference Engine
2001-02-19 17:20:17 -05:00
Albert Cheng
2b9e736d63 [svn-r3461] Purpose:
Updated
2001-02-19 16:58:17 -05:00
Frank Baker
bbea378a4b [svn-r3460]
Purpose:
    Updating Fortran90 APIs.
Description:
    fortran/h5t_FORTRAN.html
        Removed h5tget_member_dims_f and h5tinsert_array_f.
    fortran/h5d_FORTRAN.html
        Created near-duplicate h5dwrite and h5dread entries:
            One for all datatypes EXCEPT object and dataset region references.
            One for object and dataset region reference datatypes.
        Added buffer size parameter, n, and changed buffer rank to 1 in
                reference datatypes version.
Platforms tested:
    IE 5
2001-02-19 16:48:23 -05:00
Frank Baker
60c4f4f82d [svn-r3459]
Purpose:
    Updating Fortran90 APIs
Description:
    RM_H5.html
    fortran/h5_FORTRAN.html  [New file]
        Added hfopen_f, h5close_f, and appropriate links.
        Added F90 intro and index material.  [RM_H5.html only]
Platforms tested:
    IE 5
2001-02-19 16:46:10 -05:00
Frank Baker
61a9b421fd [svn-r3458]
Purpose:
    Updating FORTRAN API
Description:
    RM_H5P.html
    fortran/h5p_FORTRAN.html
        Made H5Pset_fapl_split warning into a separate paragraph so that
            it is more visible.                 [RM_H5P.html only]
        Removed
            h5pset_stdio_f            h5pset_sec2_f
            h5pget_stdio_f            h5pget_sec2_f
            h5pset_core_f             h5pset_family_f
            h5pget_core_f             h5pget_family_f
        Replaced
            h5pset_mpi_f              h5pset_xfer_f
            h5pget_mpi_f              h5pget_xfer_f
           with
            h5pset_fapl_mpio_f        h5pset_dxpl_mpio_f
            h5pget_fapl_mpio_f        h5pget_dxpl_mpio_f

Platforms tested:
    IE 5
2001-02-19 16:42:59 -05:00
Frank Baker
cdc3e26bad [svn-r3457]
Purpose:
    Added ./doc/html/fortran/h5_FORTRAN.html.
2001-02-19 16:40:00 -05:00
Dan Wells
1212dc0a55 [svn-r3456]
Purpose:
    Information to indicate lack of Pablo support
Description:
    Added a paragraph stating that this release does not support the Pablo
    build.
Solution:
    Put the url for the location in the Pablo Website where a version
    supporting Pablo can be found.
Platforms tested:
    Not applicable
2001-02-19 15:34:33 -05:00
Albert Cheng
9be92869be [svn-r3449] Purpose:
update
Description:
    Put in a caution statement in the H5Pset_fapl_split() function of
    the potential change in the next release.
Platforms tested:
    Viewed by netscape.
2001-02-19 12:01:25 -05:00
Frank Baker
ffbbc4a5f8 [svn-r3447]
Purpose:
    Bringing in current version of .../hdf5/RELEASE.txt
Platforms tested:
    IE 5
2001-02-19 11:24:55 -05:00
Albert Cheng
6a18f2f75e [svn-r3440] Purpose:
Updated
Platforms tested:
    bin/chkmanifest
2001-02-18 08:02:26 -05:00
Albert Cheng
98bce96569 [svn-r3439] Purpose:
Update
Description:
    Incorporated all the changes made to powerpc-ibm-aix4.2.1.0
    and powerpc-ibm-aix4.3.2.0 into powerpc-ibm-aix4.x.
    Removed the other two "sub-files" now that powerpc-ibm-aix4.x
    can cover them too.
Platforms tested:
    IBM SP2 at LLNL BLUE, both parallel and serial.
2001-02-16 17:48:06 -05:00
Frank Baker
26e7e3b607 [svn-r3438]
Description:
    Removed "Limitations of This Release" section, which was really
        designed for the early releases when we didn't yet have full
        functionality.
    Replaced the "Changes in the Current Release" section with pointers
        to ADGuide/RELEASE.txt and ADGuide/Changes.html.
    Corrected reference to H5Dget_vlen_buf_size to read H5Dvlen_get_buf_size.
Platforms tested:
    IE 5
2001-02-16 17:34:50 -05:00
Frank Baker
457d8e72ba [svn-r3436]
Purpose:
    Added the years 2000 and 2001 to the copyright notice.
Platforms tested:
     IE 5
2001-02-16 17:11:31 -05:00
Frank Baker
e3999cc810 [svn-r3435]
Description:
    Fixed link to Copyright notice.
Platforms tested:
    IE 5
2001-02-16 16:50:10 -05:00
Frank Baker
0bdf813173 [svn-r3434]
Description:
    Added link back to Intro.
Platforms tested:
    IE 5
2001-02-16 16:40:46 -05:00
Frank Baker
fe5cd67e74 [svn-r3433]
Description:
    Added array and VL datatype sections and examples.
    Removed full examples (not sample snippets of code) that were
        embedded in the running text in addition to having been
        included in the separate "Examples Codes" section.
    Renumbered examples as needed.
    Added several "Return to TOC" links.
    Minor formatting fixes and edits.
Platforms tested:
    IE 5
2001-02-16 16:35:53 -05:00
Raymond Lu
734454d3ab [svn-r3432]
Purpose:
    Adding testing information.
Description:
    mpich-1.2.1 testing passed on IRIX 6.5, IRIX64 6.5(64), IRIX64 6.5(n32),
    Linux, SunOS 5.7.  HDF-SRB testing got segmentation error.  HDF-GASS and
    testhdf5 got bus error if configured with --with-gass.
Solution:
Platforms tested:
    Varieties.
2001-02-16 16:11:10 -05:00
Frank Baker
c8dcc595d8 [svn-r3430]
Purpose:
    Adding new examples, minor reformatting and edits, and
    fixing non-print errors.
Description:
    Added array and VL datatype examples.
    Renumbered examples as needed.
    Minor formatting.
    Throughout -- so that they display properly, changed
        '<' and '>'  to  '&lt;' and '&gt;'.
Platforms tested:
    IE 5
2001-02-16 15:49:43 -05:00
Frank Baker
835b33ecef [svn-r3429]
Description:
    Fixed HTML error
Platforms tested:
    IE 5
2001-02-16 15:45:27 -05:00
Frank Baker
81cbf759eb [svn-r3428]
Description:
    H5Tget_array_dims: Corrected return type.
    Changed reference to H5Tget_member_dims (a deleted function)
        to H5Tget_member_class.
    Removed reference to h5tget_member_dims_f (underlying C function
        has been removed)
Platforms tested:
    IE 5
2001-02-16 15:42:56 -05:00
Frank Baker
ec8563cf52 [svn-r3427]
Description:
    Array datatype -- minor edits in code example intro
    VL datatype -- new code example
    Array and VL examples -- so that they display properly,
        changed '<' and '>' to '&lt;' and '&gt;'.
    Changed reference to H5Tget_member_dims (a deleted function)
        to H5Tget_member_class.
    Removed H5Tget_member_dims description.
Platforms tested:
    IE 5
2001-02-16 15:39:10 -05:00
Frank Baker
79fa3898a8 [svn-r3425]
Purpose:
    Updates to accomodate
      -- functions removed or changed in R1.4
      -- changed driver constants
      -- changed H5Pget_driver return type
Description:
    Fixed H5Pget_driver return type in several places.
    Updated H5Pget_driver return values per driver (e.g.,
        H5F_LOW_SEC2-->H5FD_SEC2 and H5F_LOW_CORE-->H5FD_CORE).
    Various corrections regarding changed/deleted functions
        H5Pset_sec2       -> H5Pset_fapl_sec2
        H5Pget_sec2       deleted
        H5Pset_stdio      -> H5Pset_fapl_stdio
        H5Pget_stdio      -> H5Pget_fapl_stdio
        H5Pset_core       -> H5Pset_fapl_core   (+ new parameter)
        H5Pget_core       -> H5Pget_fapl_core   (+ new parameter)
        H5Pset_mpi        -> H5Pset_fapl_mpi
        H5Pget_mpi        -> H5Pget_fapl_mpi
        H5Pset_family     -> H5Pset_fapl_family
        H5Pget_family     -> H5Pget_fapl_family
        H5Pset_split      -> H5Pset_fapl_split
        H5Pget_split      deleted
Platforms tested:
    IE 5
2001-02-16 15:34:19 -05:00
Frank Baker
6e9418d9d0 [svn-r3424]
Purpose:
    Contained reference to non-existent function.
Description:
    Corrected H5Pset_split_ratios reference to H5Pset_btree_ratios.
Platforms tested:
    IE 5
2001-02-16 15:29:46 -05:00
Barbara Jones
77fd42de13 [svn-r3422] Included year 2001 in the COPYRIGHT message.
Purpose:
    [is this a bug fix? feature? ...]
Description:
    [describe the bug, or describe the new feature, etc]
Solution:
    [details about the changes, algorithm, etc...]
    [Please as detail as you can since your own explanation is
    better than others guessing it from the code.]
Platforms tested:
    [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-02-16 12:21:46 -05:00
Albert Cheng
0a2bae345d [svn-r3411] Description:
Updated with enable-static-exec failure for SP2 platform.
2001-02-15 09:27:30 -05:00
Albert Cheng
e98e4dea74 [svn-r3410] Purpose:
Update
Description:
    Updated OS information of IBM SP and TFLOPS systems.
    Documented a potential hanging problem of the stream-vfd test.
Platforms tested:
    Eye-balled.
2001-02-15 08:22:44 -05:00
Raymond Lu
9c475eccd9 [svn-r3409]
Purpose:
    Document problems.
Description:
    The problems for IRIX64 6.5 and IRIX 6.5 is described.
Solution:
Platforms tested:
    IRIX64 6.5 and IRIX 6.5.
2001-02-14 16:50:59 -05:00
Elena Pourmal
ee5f339108 [svn-r3407]
Purpose:
    Update
Description:
    "Platfroms Tested" section did not list Solaris x86.
     Also Note stated wrongly that only static version of the libraray and
     tools were tested.
Solution:
     Fixed the "Platfrom Tested" section.
2001-02-14 10:02:15 -05:00
Elena Pourmal
3b3163a715 [svn-r3399]
Purpose:
    Update
Description:
    beta3 suffux was removed from the version description. Now document describes
    HDF5 1.4.0 release instead of HDF5 1.4.0-beta3.
2001-02-12 10:06:55 -05:00
Quincey Koziol
489f076c36 [svn-r3397] Purpose:
Update the version number now that the tree is finally split!
2001-02-09 20:21:53 -05:00
853 changed files with 86392 additions and 49062 deletions

View File

@@ -2,8 +2,8 @@ Copyright Notice and Statement for NCSA Hierarchical Data Format (HDF)
Software Library and Utilities
NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
Copyright 1998, 1999, 2000 by the Board of Trustees of the University of
Illinois. All rights reserved.
Copyright 1998, 1999, 2000, 2001, 2002 by the Board of Trustees of the
University of Illinois. All rights reserved.
Contributors: National Center for Supercomputing Applications (NCSA) at the
University of Illinois at Urbana-Champaign (UIUC), Lawrence Livermore

View File

@@ -1,984 +0,0 @@
HDF5 HISTORY
============
CONTENTS
I. Release Information for hdf5-1.2.2
II. Release Information for hdf5-1.2.1
III. Release Information for hdf5-1.2.0
A. Platforms Supported
B. Known Problems
C. Changes Since Version 1.0.1
1. Documentation
2. Configuration
3. Debugging
4. Datatypes
5. Dataspaces
6. Persistent Pointers
7. Parallel Support
8. New API Functions
a. Property List Interface
b. Dataset Interface
c. Dataspace Interface
d. Datatype Interface
e. Identifier Interface
f. Reference Interface
g. Ragged Arrays
9. Tools
IV. Changes from Release 1.0.0 to Release 1.0.1
V. Changes from the Beta 1.0.0 Release to Release 1.0.0
VI. Changes from the Second Alpha 1.0.0 Release to the Beta 1.0.0 Release
VII. Changes from the First Alpha 1.0.0 Release to the
Second Alpha 1.0.0 Release
[Search on the string '%%%%' for per-release section breaks.]
-----------------------------------------------------------------------
%%%%1.2.2%%%% Release Information for hdf5-1.2.2 (6/23/00)
I. Release Information for hdf5-1.2.2
INTRODUCTION
This document describes the differences between HDF5-1.2.1 and
HDF5-1.2.2, and contains information on the platforms where HDF5-1.2.2
was tested and known problems in HDF5-1.2.2.
The HDF5 documentation can be found on the NCSA ftp server
(ftp.ncsa.uiuc.edu) in the directory:
/HDF/HDF5/docs/
For more information look at the HDF5 home page at:
http://hdf.ncsa.uiuc.edu/HDF5/
If you have any questions or comments, please send them to:
hdfhelp@ncsa.uiuc.edu
CONTENTS
- Features Added since HDF5-1.2.1
- Bug Fixes since HDF5-1.2.1
- Known Problems
- Platforms Tested
Features Added since HDF5-1.2.1
===============================
* Added internal free-lists to reduce memory required by the library and
H5garbage_collect API function.
* h5dump displays opaque and bitfield types.
* New features added to snapshots. Use 'snapshot help' to see a
complete list of features.
* Improved configure to detect if MPIO routines are available when
parallel mode is requested.
Bug Fixes since HDF5-1.2.1
==========================
* h5dump correctly displays compound datatypes, including simple and
nested compound types.
* h5dump correctly displays the committed copy of predefined types.
* Corrected an error in h5toh4 which did not convert the 32-bit
int from HDF5 to HDF4 correctly for the T3E platform.
* Corrected a floating point number conversion error for the
Cray J90 platform. The error did not convert the value 0.0
correctly.
* Fixed error in H5Giterate which was not updating the "index" parameter
correctly.
* Fixed error in hyperslab iteration which was not walking through the
correct sequence of array elements if hyperslabs were staggered in a
certain pattern.
* Fixed several other problems in hyperslab iteration code.
* Fixed another H5Giterate bug which caused groups with large numbers
of objects in them to misbehave when the callback function returned
non-zero values.
* Changed return type of H5Aiterate and H5A_operator_t typedef to be
herr_t, to align them with the dataset and group iterator functions.
* Changed H5Screate_simple and H5Sset_extent_simple to not allow dimensions
of size 0 without the same dimension being unlimited.
* Improved metadata hashing & caching algorithms to avoid
many hash flushes and also removed some redundant I/O when moving metadata
blocks in the file.
* The libhdf5.settings file shows the correct machine byte-sex.
* The "struct(opt)" type conversion function which gets invoked for
certain compound datatype conversions was fixed for nested compound
types. This required a small change in the datatype conversion
function API.
Known Problems
==============
o SunOS 5.6 with C WorkShop Compilers 4.2: hyperslab selections will
fail if library is compiled using optimization of any level.
o TFLOPS: dsets test fails if compiled with optimization turned on.
o J90: tools fail to dispay data for the datasets with a compound datatype.
Platforms Tested
================
AIX 4.3.3 (IBM SP) 3.6.6 | binaries
mpicc using mpich 1.1.2 | are not
mpicc_r using IBM MPI-IO prototype | available
AIX 4.3.2.0 (IBM SP) xlc 5.0.1.0
Cray J90 10.0.0.7 cc 6.3.0.2
Cray T3E 2.0.5.29 cc 6.3.0.2
mpt.1.3
FreeBSD 4.0 gcc 2.95.2
HP-UX B.10.20 HP C HP92453-01 A.10.32
HP-UX B.11.00 HP92453-01 A.11.00.13 HP C Compiler
(static library only, h5toh4 tool is not available)
IRIX 6.5 MIPSpro cc 7.30
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
mpt.1.4
Linux 2.2.10 SMP gcc 2.95.1
mpicc(gcc-2.95.1)
gcc (egcs-2.91.66)
mpicc (egcs-2.91.66)
Linux 2.2.16 (RedHat 6.2) gcc 2.95.2
OSF1 V4.0 DEC-V5.2-040
SunOS 5.6 cc WorkShop Compilers 5.0 no optimization
SunOS 5.7 cc WorkShop Compilers 5.0
SolarisX86 SunOS 5.5.1 gcc version 2.7.2 with --disable-hsizet
TFLOPS 3.2.1 pgcc Rel 3.1-3i
mpich-1.1.2 with local changes
Windows NT4.0 sp5 MSVC++ 6.0
Windows 98 MSVC++ 6.0
Windows 2000 MSVC++ 6.0
%%%%1.2.1%%%% Release Information for hdf5-1.2.1
II. Release Information for hdf5-1.2.1
Bug fixes since HDF5-1.2.0
==========================
Configuration
-------------
* The hdf5.h include file was fixed to allow the HDF5 Library to be compiled
with other libraries/applications that use GNU autoconf.
* Configuration for parallel HDF5 was improved. Configure now attempts to
link with libmpi.a and/or libmpio.a as the MPI libraries by default.
It also uses "mpirun" to launch MPI tests by default. It tests to
link MPIO routines during the configuration stage, rather than failing
later as before. One can just do "./configure --enable-parallel"
if the MPI library is in the system library.
Library
-------
* Error was fixed which was not allowing dataset region references to have
their regions retrieved correctly.
* Added internal free-lists to reduce memory required by the library and
H5garbage_collect API function
* Fixed error in H5Giterate which was not updating the "index" parameter
correctly.
* Fixed error in hyperslab iteration which was not walking through the
correct sequence of array elements if hyperslabs were staggered in a
certain pattern
* Fixed several other problems in hyperslab iteration code.
Tests
------
* Added additional tests for group and attribute iteration.
* Added additional test for staggered hyperslab iteration.
* Added additional test for random 5-D hyperslab selection.
Tools
------
* Added an option, -V, to show the version information of h5dump.
* Fixed a core dumping bug of h5toh4 when executed on platforms like
TFLOPS.
* The test script for h5toh4 used to not able to detect the hdp
dumper command was not valid. It now detects and reports the
failure of hdp execution.
Documentation
-------------
* User's Guide and Reference Manual were updated.
See doc/html/PSandPDF/index.html for more details.
Platforms Tested:
================
Note: Due to the nature of bug fixes, only static versions of the library and tools were tested.
AIX 4.3.2 (IBM SP) 3.6.6
Cray T3E 2.0.4.81 cc 6.3.0.1
mpt.1.3
FreeBSD 3.3-STABLE gcc 2.95.2
HP-UX B.10.20 HP C HP92453-01 A.10.32
IRIX 6.5 MIPSpro cc 7.30
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
mpt.1.3 (SGI MPI 3.2.0.0)
Linux 2.2.10 SuSE egcs-2.91.66 configured with
(i686-pc-linux-gnu) --disable-hsizet
mpich-1.2.0 egcs-2.91.66 19990314/Linux
OSF1 V4.0 DEC-V5.2-040
SunOS 5.6 cc WorkShop Compilers 4.2 no optimization
SunOS 5.7 cc WorkShop Compilers 5.0
TFLOPS 2.8 cicc (pgcc Rel 3.0-5i)
mpich-1.1.2 with local changes
Windows NT4.0 sp5 MSVC++ 6.0
Known Problems:
==============
o SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will
fail if library is compiled using optimization of any level.
%%%%1.2.0%%%% Release Information for hdf5-1.2.0
III. Release Information for hdf5-1.2.0
A. Platforms Supported
-------------------
Operating systems listed below with compiler information and MPI library, if
applicable, are systems that HDF5 1.2.0 was tested on.
Compiler & libraries
Platform Information Comment
-------- ---------- --------
AIX 4.3.2 (IBM SP) 3.6.6
Cray J90 10.0.0.6 cc 6.3.0.0
Cray T3E 2.0.4.61 cc 6.2.1.0
mpt.1.3
FreeBSD 3.2 gcc 2.95.1
HP-UX B.10.20 HP C HP92453-01 A.10.32
gcc 2.8.1
IRIX 6.5 MIPSpro cc 7.30
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
mpt.1.3 (SGI MPI 3.2.0.0)
Linux 2.2.10 egcs-2.91.66 configured with
--disable-hsizet
lbraries: glibc2
OSF1 V4.0 DEC-V5.2-040
SunOS 5.6 cc WorkShop Compilers 4.2
no optimization
gcc 2.8.1
SunOS 5.7 cc WorkShop Compilers 5.0
gcc 2.8.1
TFLOPS 2.7.1 cicc (pgcc Rel 3.0-4i)
mpich-1.1.2 with local changes
Windows NT4.0 intel MSVC++ 5.0 and 6.0
Windows NT alpha 4.0 MSVC++ 5.0
Windows 98 MSVC++ 5.0
B. Known Problems
--------------
* NT alpha 4.0
Dumper utiliy h5dump fails if linked with DLL.
* SunOS 5.6 with C WorkShop Compilers 4.2
Hyperslab selections will fail if library is compiled using optimization
of any level.
C. Changes Since Version 1.0.1
---------------------------
1. Documentation
-------------
* More examples
* Updated user guide, reference manual, and format specification.
* Self-contained documentation for installations isolated from the
Internet.
* HDF5 Tutorial was added to the documentation
2. Configuration
-------------
* Better detection and support for MPI-IO.
* Recognition of compilers with known code generation problems.
* Support for various compilers on a single architecture (e.g., the
native compiler and the GNU compilers).
* Ability to build from read-only media and with different compilers
and/or options concurrently.
* Added a libhdf5.settings file which summarizes the configuration
information and is installed along with the library.
* Builds a shared library on most systems that support it.
* Support for Cray T3E, J90 and Windows/NT.
3. Debugging
---------
* Improved control and redirection of debugging and tracing messages.
4. Datatypes
---------
* Optimizations to compound datatype conversions and I/O operations.
* Added nearly 100 optimized conversion functions for native datatypes
including support for non-aligned data.
* Added support for bitfield, opaque, and enumeration types.
* Added distinctions between signed and unsigned char types to the
list of predefined native hdf5 datatypes.
* Added HDF5 type definitions for C9x types like int32_t.
* Application-defined type conversion functions can handle non-packed
data.
* Changed the H5Tunregister() function to use wildcards when matching
conversion functions. H5Tregister_hard() and H5Tregister_soft()
were combined into H5Tregister().
* Support for variable-length datatypes (arrays of varying length per
dataset element). Variable length strings currently supported only
as variable length arrays of 1-byte integers.
5. Dataspaces
----------
* New query functions for selections.
* I/O operations bypass the stripmining loop and go directly to
storage for certain contiguous selections in the absense of type
conversions. In other cases the stripmining buffers are used more
effectively.
* Reduced the number of I/O requests under certain circumstances,
improving performance on systems with high I/O latency.
6. Persistent Pointers
-------------------
* Object (serial and parallel) and dataset region (serial only)
references are implemented.
7. Parallel Support
----------------
* Improved parallel I/O performance.
* Supported new platforms: Cray T3E, Linux, DEC Cluster.
* Use vendor supported version of MPIO on SGI O2K and Cray platforms.
* Improved the algorithm that translates an HDF5 hyperslab selection
into an MPI type for better collective I/O performance.
8. New API functions
-----------------
a. Property List Interface:
------------------------
H5Pset_xfer - set data transfer properties
H5Pset_preserve - set dataset transfer property list status
H5Pget_preserve - get dataset transfer property list status
H5Pset_hyper_cache - indicates whether to cache hyperslab blocks during I/O
H5Pget_hyper_cache - returns information regarding the caching of
hyperslab blocks during I/O
H5Pget_btree_ratios - sets B-tree split ratios for a dataset
transfer property list
H5Pset_btree_ratios - gets B-tree split ratios for a dataset
transfer property list
H5Pset_vlen_mem_manager - sets the memory manager for variable-length
datatype allocation
H5Pget_vlen_mem_manager - sets the memory manager for variable-length
datatype allocation
b. Dataset Interface:
------------------
H5Diterate - iterate over all selected elements in a dataspace
H5Dget_storage_size - return the amount of storage required for a dataset
H5Dvlen_reclaim - reclaim VL datatype memory buffers
c. Dataspace Interface:
--------------------
H5Sget_select_hyper_nblocks - get number of hyperslab blocks
H5Sget_select_hyper_blocklist - get the list of hyperslab blocks
currently selected
H5Sget_select_elem_npoints - get the number of element points
in the current selection
H5Sget_select_elem_pointlist - get the list of element points
currently selected
H5Sget_select_bounds - gets the bounding box containing
the current selection
d. Datatype Interface:
-------------------
H5Tget_super - return the base datatype from which a
datatype is derived
H5Tvlen_create - creates a new variable-length dataype
H5Tenum_create - creates a new enumeration datatype
H5Tenum_insert - inserts a new enumeration datatype member
H5Tenum_nameof - returns the symbol name corresponding to a
specified member of an enumeration datatype
H5Tvalueof - return the value corresponding to a
specified member of an enumeration datatype
H5Tget_member_value - return the value of an enumeration datatype member
H5Tset_tag - tags an opaque datatype
H5Tget_tag - gets the tag associated with an opaque datatype
e. Identifier Interface:
---------------------
H5Iget_type - retrieve the type of an object
f. Reference Interface:
--------------------
H5Rcreate - creates a reference
H5Rdereference - open the HDF5 object referenced
H5Rget_region - retrieve a dataspace with the specified region selected
H5Rget_object_type - retrieve the type of object that an
object reference points to
g. Ragged Arrays (alpha) (names of those API functions were changed):
------------------------------------------------------------------
H5RAcreate - create a new ragged array (old name was H5Rcreate)
H5RAopen - open an existing array (old name was H5Ropen)
H5RAclose - close a ragged array (old name was H5Rclose)
H5RAwrite - write to an array (old name was H5Rwrite)
H5RAread - read from an array (old name was H5Rread)
9. Tools
-----
* Enhancements to the h5ls tool including the ability to list objects
from more than one file, to display raw hexadecimal data, to
show file addresses for raw data, to format output more reasonably,
to show object attributes, and to perform a recursive listing,
* Enhancements to h5dump: support new data types added since previous
versions.
* h5toh4: An hdf5 to hdf4 converter.
%%%%1.0.1%%%% Release Information for hdf5-1.0.1
IV. Changes from Release 1.0.0 to Release 1.0.1
* [Improvement]: configure sets up the Makefile in the parallel tests
suit (testpar/) correctly.
* [Bug-Fix]: Configure failed for all IRIX versions other than 6.3.
It now configures correctly for all IRIX 6.x version.
* Released Parallel HDF5
Supported Features:
------------------
HDF5 files are accessed according to the communicator and INFO
object defined in the property list set by H5Pset_mpi.
Independent read and write accesses to fixed and extendable dimension
datasets.
Collective read and write accesses to fixed dimension datasets.
Supported Platforms:
-------------------
Intel Red
IBM SP2
SGI Origin 2000
Changes In This Release:
-----------------------
o Support of Access to Extendable Dimension Datasets.
Extendable dimension datasets must use chunked storage methods.
A new function, H5Dextend, is created to extend the current
dimensions of a dataset. The current release requires the
MPI application must make a collective call to extend the
dimensions of an extendable dataset before writing to the
newly extended area. (The serial does not require the
call of H5Dextend. The dimensions of an extendable
dataset is increased when data is written to beyond the
current dimensions but within the maximum dimensions.)
The required collective call of H5Dextend may be relaxed
in future release.
This release only support independent read and write accesses
to extendable datasets. Collective accesses to extendable
datasets will be implemented in future releases.
o Collective access to fixed dimension datasets.
Collective access to a dataset can be specified in the transfer
property list argument in H5Dread and H5Dwrite. The current
release supports collective access to fixed dimension datasets.
Collective access to extendable datasets will be implemented in
future releases.
o HDF5 files are opened according to Communicator and INFO object.
H5Dopen now records the communicator and INFO setup by H5Pset_mmpi
and pass them to the corresponding MPIO open file calls for
processing.
o This release has been tested on IBM SP2, Intel Red and SGI Origin 2000
systems. It uses the ROMIO version of MPIO interface for parallel
I/O supports.
%%%%1.0.0%%%% Release Information for hdf5-1.0.0
V. Changes from the Beta 1.0.0 Release to Release 1.0.0
* Added fill values for datasets. For contiguous datasets fill value
performance may be quite poor since the fill value is written to the
entire dataset when the dataset is created. This will be remedied
in a future version. Chunked datasets using fill values do not
incur any additional overhead. See H5Pset_fill_value().
* Multiple hdf5 files can be "mounted" on one another to create a
larger virtual file. See H5Fmount().
* Object names can be removed or changed but objects are never
actually removed from the file yet. See H5Gunlink() and H5Gmove().
* Added a tuning mechanism for B-trees to insure that sequential
writes to chunked datasets use less overhead. See H5Pset_btree_ratios().
* Various optimizations and bug fixes.
%%%%1.0.0 Beta%%%% Release Information for hdf5-1.0.0 Beta
VI. Changes from the Second Alpha 1.0.0 Release to the Beta 1.0.0 Release
* Strided hyperslab selections in dataspaces now working.
* The compression API has been replaced with a more general filter
API. See doc/html/Filters.html for details.
* Alpha-quality 2d ragged arrays are implemented as a layer built on
top of other hdf5 objects. The API and storage format will almost
certainly change.
* More debugging support including API tracing. See Debugging.html.
* C and Fortran style 8-bit fixed-length character string types are
supported with space or null padding or null termination and
translations between them.
* Added function H5Fflush() to write all cached data immediately to
the file.
* Datasets maintain a modification time which can be retrieved with
H5Gstat().
* The h5ls tool can display much more information, including all the
values of a dataset.
%%%%1.0.0 Alpha 2%%%% Release Information for hdf5-1.0.0 Alpha 2
VII. Changes from the First Alpha 1.0.0 Release to
the Second Alpha 1.0.0 Release
* Two of the packages have been renamed. The data space API has been
renamed from `H5P' to `H5S' and the property list (template) API has
been renamed from `H5C' to `H5P'.
* The new attribute API `H5A' has been added. An attribute is a small
dataset which can be attached to some other object (for instance, a
4x4 transformation matrix attached to a 3-dimensional dataset, or an
English abstract attached to a group).
* The error handling API `H5E' has been completed. By default, when an
API function returns failure an error stack is displayed on the
standard error stream. The H5Eset_auto() controls the automatic
printing and H5E_BEGIN_TRY/H5E_END_TRY macros can temporarily
disable the automatic error printing.
* Support for large files and datasets (>2GB) has been added. There
is an html document that describes how it works. Some of the types
for function arguments have changed to support this: all arguments
pertaining to sizes of memory objects are `size_t' and all arguments
pertaining to file sizes are `hsize_t'.
* More data type conversions have been added although none of them are
fine tuned for performance. There are new converters from integer
to integer and float to float, but not between integers and floating
points. A bug has been fixed in the converter between compound
types.
* The numbered types have been removed from the API: int8, uint8,
int16, uint16, int32, uint32, int64, uint64, float32, and float64.
Use standard C types instead. Similarly, the numbered types were
removed from the H5T_NATIVE_* architecture; use unnumbered types
which correspond to the standard C types like H5T_NATIVE_INT.
* More debugging support was added. If tracing is enabled at
configuration time (the default) and the HDF5_TRACE environment
variable is set to a file descriptor then all API calls will emit
the function name, argument names and values, and return value on
that file number. There is an html document that describes this.
If appropriate debugging options are enabled at configuration time,
some packages will display performance information on stderr.
* Data types can be stored in the file as independent objects and
multiple datasets can share a data type.
* The raw data I/O stream has been implemented and the application can
control meta and raw data caches, so I/O performance should be
improved from the first alpha release.
* Group and attribute query functions have been implemented so it is
now possible to find out the contents of a file with no prior
knowledge.
* External raw data storage allows datasets to be written by other
applications or I/O libraries and described and accessed through
HDF5.
* Hard and soft (symbolic) links are implemented which allow groups to
share objects. Dangling and recursive symbolic links are supported.
* User-defined data compression is implemented although we may
generalize the interface to allow arbitrary user-defined filters
which can be used for compression, checksums, encryption,
performance monitoring, etc. The publicly-available `deflate'
method is predefined if the GNU libz.a can be found at configuration
time.
* The configuration scripts have been modified to make it easier to
build debugging vs. production versions of the library.
* The library automatically checks that the application was compiled
with the correct version of header files.
Parallel HDF5 Changes
* Parallel support for fixed dimension datasets with contiguous or
chunked storages. Also, support unlimited dimension datasets which
must use chunk storage. No parallel support for compressed datasets.
* Collective data transfer for H5Dread/H5Dwrite. Collective access
support for datasets with contiguous storage only, thus only fixed
dimension datasets for now.
* H5Pset_mpi and H5Pget_mpi no longer have the access_mode
argument. It is taken over by the data-transfer property list
of H5Dread/H5Dwrite.
* New functions H5Pset_xfer and H5Pget_xfer to handle the
specification of independent or collective data transfer_mode
in the dataset transfer properties list. The properties
list can be used to specify data transfer mode in the H5Dwrite
and H5Dread function calls.
* Added parallel support for datasets with chunked storage layout.
When a dataset is extend in a PHDF5 file, all processes that open
the file must collectively call H5Dextend with identical new dimension
sizes.
LIST OF API FUNCTIONS
The following functions are implemented. Errors are returned if an
attempt is made to use some feature which is not implemented and
printing the error stack will show `not implemented yet'.
Library
H5check - check that lib version matches header version
H5open - initialize library (happens automatically)
H5close - shut down the library (happens automatically)
H5dont_atexit - don't call H5close on exit
H5get_libversion - retrieve library version info
H5check_version - check for specific library version
Property Lists
H5Pclose - release template resources
H5Pcopy - copy a template
H5Pcreate - create a new template
H5Pget_chunk - get chunked storage properties
H5Pset_chunk - set chunked storage properties
H5Pget_class - get template class
H5Pget_istore_k - get chunked storage properties
H5Pset_istore_k - set chunked storage properties
H5Pget_layout - get raw data layout class
H5Pset_layout - set raw data layout class
H5Pget_sizes - get address and size sizes
H5Pset_sizes - set address and size sizes
H5Pget_sym_k - get symbol table storage properties
H5Pset_sym_k - set symbol table storage properties
H5Pget_userblock - get user-block size
H5Pset_userblock - set user-block size
H5Pget_version - get file version numbers
H5Pget_alignment - get data alignment properties
H5Pset_alignment - set data alignment properties
H5Pget_external_count- get count of external data files
H5Pget_external - get information about an external data file
H5Pset_external - add a new external data file to the list
H5Pget_driver - get low-level file driver class
H5Pget_stdio - get properties for stdio low-level driver
H5Pset_stdio - set properties for stdio low-level driver
H5Pget_sec2 - get properties for sec2 low-level driver
H5Pset_sec2 - set properties for sec2 low-level driver
H5Pget_core - get properties for core low-level driver
H5Pset_core - set properties for core low-level driver
H5Pget_split - get properties for split low-level driver
H5Pset_split - set properties for split low-level driver
H5P_get_family - get properties for family low-level driver
H5P_set_family - set properties for family low-level driver
H5Pget_cache - get meta- and raw-data caching properties
H5Pset_cache - set meta- and raw-data caching properties
H5Pget_buffer - get raw-data I/O pipe buffer properties
H5Pset_buffer - set raw-data I/O pipe buffer properties
H5Pget_preserve - get type conversion preservation properties
H5Pset_preserve - set type conversion preservation properties
H5Pget_nfilters - get number of raw data filters
H5Pget_filter - get raw data filter properties
H5Pset_filter - set raw data filter properties
H5Pset_deflate - set deflate compression filter properties
H5Pget_mpi - get MPI-IO properties
H5Pset_mpi - set MPI-IO properties
H5Pget_xfer - get data transfer properties
+ H5Pset_xfer - set data transfer properties
+ H5Pset_preserve - set dataset transfer property list status
+ H5Pget_preserve - get dataset transfer property list status
+ H5Pset_hyper_cache - indicates whether to cache hyperslab blocks during I/O
+ H5Pget_hyper_cache - returns information regarding the caching of
hyperslab blocks during I/O
+ H5Pget_btree_ratios - sets B-tree split ratios for a dataset
transfer property list
+ H5Pset_btree_ratios - gets B-tree split ratios for a dataset
transfer property list
+ H5Pset_vlen_mem_manager - sets the memory manager for variable-length
datatype allocation
+ H5Pget_vlen_mem_manager - sets the memory manager for variable-length
datatype allocation
Datasets
H5Dclose - release dataset resources
H5Dcreate - create a new dataset
H5Dget_space - get data space
H5Dget_type - get data type
H5Dget_create_plist - get dataset creation properties
H5Dopen - open an existing dataset
H5Dread - read raw data
H5Dwrite - write raw data
H5Dextend - extend a dataset
+ H5Diterate - iterate over all selected elements in a dataspace
+ H5Dget_storage_size - return the amount of storage required for a dataset
+ H5Dvlen_reclaim - reclaim VL datatype memory buffers
Attributes
H5Acreate - create a new attribute
H5Aopen_name - open an attribute by name
H5Aopen_idx - open an attribute by number
H5Awrite - write values into an attribute
H5Aread - read values from an attribute
H5Aget_space - get attribute data space
H5Aget_type - get attribute data type
H5Aget_name - get attribute name
H5Anum_attrs - return the number of attributes for an object
H5Aiterate - iterate over an object's attributes
H5Adelete - delete an attribute
H5Aclose - close an attribute
Errors
H5Eclear - clear the error stack
H5Eprint - print an error stack
H5Eget_auto - get automatic error reporting settings
H5Eset_auto - set automatic error reporting
H5Ewalk - iterate over the error stack
H5Ewalk_cb - the default error stack iterator function
H5Eget_major - get the message for the major error number
H5Eget_minor - get the message for the minor error number
Files
H5Fclose - close a file and release resources
H5Fcreate - create a new file
H5Fget_create_plist - get file creation property list
H5Fget_access_plist - get file access property list
H5Fis_hdf5 - determine if a file is an hdf5 file
H5Fopen - open an existing file
H5Freopen - reopen an HDF5 file
H5Fmount - mount a file
H5Funmount - unmount a file
H5Fflush - flush all buffers associated with a file to disk
Groups
H5Gclose - close a group and release resources
H5Gcreate - create a new group
H5Gopen - open an existing group
H5Giterate - iterate over the contents of a group
H5Gmove - change the name of some object
H5Glink - create a hard or soft link to an object
H5Gunlink - break the link between a name and an object
H5Gget_objinfo - get information about a group entry
H5Gget_linkval - get the value of a soft link
H5Gget_comment - get the comment string for an object
H5Gset_comment - set the comment string for an object
Dataspaces
H5Screate - create a new data space
H5Scopy - copy a data space
H5Sclose - release data space
H5Screate_simple - create a new simple data space
H5Sset_space - set simple data space extents
H5Sis_simple - determine if data space is simple
H5Sset_extent_simple - set simple data space dimensionality and size
H5Sget_simple_extent_npoints - get number of points in simple extent
H5Sget_simple_extent_ndims - get simple data space dimensionality
H5Sget_simple_extent_dims - get simple data space size
H5Sget_simple_extent_type - get type of simple extent
H5Sset_extent_none - reset extent to be empty
H5Sextent_copy - copy the extent from one data space to another
H5Sget_select_npoints - get number of points selected for I/O
H5Sselect_hyperslab - set hyperslab dataspace selection
H5Sselect_elements - set element sequence dataspace selection
H5Sselect_all - select entire extent for I/O
H5Sselect_none - deselect all elements of extent
H5Soffset_simple - set selection offset
H5Sselect_valid - determine if selection is valid for extent
+ H5Sget_select_hyper_nblocks - get number of hyperslab blocks
+ H5Sget_select_hyper_blocklist - get the list of hyperslab blocks
currently selected
+ H5Sget_select_elem_npoints - get the number of element points
in the current selection
+ H5Sget_select_elem_pointlist - get the list of element points
currently selected
+ H5Sget_select_bounds - gets the bounding box containing
the current selection
Datatypes
H5Tclose - release data type resources
H5Topen - open a named data type
H5Tcommit - name a data type
H5Tcommitted - determine if a type is named
H5Tcopy - copy a data type
H5Tcreate - create a new data type
H5Tequal - compare two data types
H5Tlock - lock type to prevent changes
H5Tfind - find a data type conversion function
H5Tconvert - convert data from one type to another
H5Tregister - register a conversion function
H5Tunregister - remove a conversion function
H5Tget_overflow - get function that handles overflow conv. cases
H5Tset_overflow - set function to handle overflow conversion cases
H5Tget_class - get data type class
H5Tget_cset - get character set
H5Tget_ebias - get exponent bias
H5Tget_fields - get floating point fields
H5Tget_inpad - get inter-field padding
H5Tget_member_dims - get struct member dimensions
H5Tget_member_name - get struct member name
H5Tget_member_offset - get struct member byte offset
H5Tget_member_type - get struct member type
H5Tget_nmembers - get number of struct members
H5Tget_norm - get floating point normalization
H5Tget_offset - get bit offset within type
H5Tget_order - get byte order
H5Tget_pad - get padding type
H5Tget_precision - get precision in bits
H5Tget_sign - get integer sign type
H5Tget_size - get size in bytes
H5Tget_strpad - get string padding
H5Tinsert - insert scalar struct member
H5Tinsert_array - insert array struct member
H5Tpack - pack struct members
H5Tset_cset - set character set
H5Tset_ebias - set exponent bias
H5Tset_fields - set floating point fields
H5Tset_inpad - set inter-field padding
H5Tset_norm - set floating point normalization
H5Tset_offset - set bit offset within type
H5Tset_order - set byte order
H5Tset_pad - set padding type
H5Tset_precision - set precision in bits
H5Tset_sign - set integer sign type
H5Tset_size - set size in bytes
H5Tset_strpad - set string padding
+ H5Tget_super - return the base datatype from which a
datatype is derived
+ H5Tvlen_create - creates a new variable-length dataype
+ H5Tenum_create - creates a new enumeration datatype
+ H5Tenum_insert - inserts a new enumeration datatype member
+ H5Tenum_nameof - returns the symbol name corresponding to a
specified member of an enumeration datatype
+ H5Tvalueof - return the value corresponding to a
specified member of an enumeration datatype
+ H5Tget_member_value - return the value of an enumeration datatype member
+ H5Tset_tag - tags an opaque datatype
+ H5Tget_tag - gets the tag associated with an opaque datatype
- H5Tregister_hard - register specific type conversion function
- H5Tregister_soft - register general type conversion function
Filters
H5Tregister - register a conversion function
Compression
H5Zregister - register new compression and uncompression
functions for a method specified by a method number
Identifiers
+ H5Iget_type - retrieve the type of an object
References
+ H5Rcreate - creates a reference
+ H5Rdereference - open the HDF5 object referenced
+ H5Rget_region - retrieve a dataspace with the specified region selected
+ H5Rget_object_type - retrieve the type of object that an
object reference points to
Ragged Arrays (alpha)
H5RAcreate - create a new ragged array
H5RAopen - open an existing array
H5RAclose - close a ragged array
H5RAwrite - write to an array
H5RAread - read from an array

View File

@@ -1,152 +0,0 @@
Installation instructions for Parallel HDF5
-------------------------------------------
1. Overview
-----------
This file contains instructions for the installation of parallel
HDF5. Platforms supported by this release are SGI Origin 2000,
IBM SP2, and the Intel TFLOP. The steps are kind of unnatural and
will be more automized in the next release. If you have difficulties
installing the software in your system, please send mail to
hdfparallel@ncsa.uiuc.edu
In your mail, please enclose the output of "uname -a". Also attach the
content of "config.log" if you have run the "configure" command.
First, you must obtain and unpack the HDF5 source as
described in the file INSTALL. You also need to obtain the
information of the include and library paths of MPI and MPIO
software installed in your system since the parallel HDF5 library
uses them for parallel I/O access.
2. Quick Instruction for known systems
--------------------------------------
The following shows particular steps to run the parallel HDF5
configure for a few machines we tested. If your particular platform
is not shown or somehow the steps do not work for yours, please go
to the next section for more detail explanations.
------
TFLOPS
------
follow the instuctions in INSTALL_TFLOPS.
-------
IBM SP2
-------
First of all, make sure your environment variables are set correctly
to compile and execute single process mpi applications for the SP2
machine. They should be the same or comparable to the following.
setenv CC mpcc_r
setenv MP_PROCS 1
setenv MP_NODES 1
setenv MP_LABELIO no
setenv MP_RMPOOL 0
setenv RUNPARALLEL "MP_PROCS=2 MP_TASKS_PER_NODE=2 poe"
setenv LLNL_COMPILE_SINGLE_THREADED TRUE
The shared library configuration for this version is broken.
So, only static library is supported.
An error for powerpc-ibm-aix4.3.2.0 (LLNL Blue) about install method
is discovered after code freeze. You need to remove the following
line from config/powerpc-ibm-aix4.3.2.0 before configuration.
ac_cv_path_install=${ac_cv_path_install='cp -r'}
Then do the following steps:
./configure --disable-shared --prefix=<install-directory>
make # build the library
make check # verify the correctness
make install
---------------
SGI Origin 2000
Cray T3E
(where MPI-IO is part of system MPI library such as mpt 1.3)
---------------
#!/bin/sh
RUNPARALLEL="mpirun -np 2"
export RUNPARALLEL
LIBS="-lmpi"
export LIBS
./configure --enable-parallel --disable-shared --prefix=$PWD/installdir
make
make check
make install
---------------
SGI Origin 2000
Cray T3E
(where MPI-IO is not part of system MPI library or I want to
use my own version of MPIO)
---------------
mpi1_inc="" #mpi-1 include
mpi1_lib="" #mpi-1 library
mpio_inc=-I$HOME/ROMIO/include #mpio include
mpio_lib="-L$HOME/ROMIO/lib/IRIX64" #mpio library
MPI_INC="$mpio_inc $mpi1_inc"
MPI_LIB="$mpio_lib $mpi1_lib"
#for version 1.1
CPPFLAGS=$MPI_INC
export CPPFLAGS
LDFLAGS=$MPI_LIB
export LDFLAGS
RUNPARALLEL="mpirun -np 2"
export RUNPARALLEL
LIBS="-lmpio -lmpi"
export LIBS
./configure --enable-parallel --disable-shared --prefix=$PWD/installdir
make
make check
make install
3. Detail explanation
---------------------
The HDF5 library can be configured to use MPI and MPI-IO for
parallelizm on a distributed multi-processor system. The easy
way to do this is to have a properly installed parallel
compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that
executable as the value of the CC environment variable:
$ CC=mpcc ./configure
$ CC=/usr/local/mpi/bin/mpicc ./configure
If no such wrapper script is available then you must specify
your normal C compiler along with the distribution of
MPI/MPI-IO which is to be used (values other than `mpich' will
be added at a later date):
$ ./configure --enable-parallel=mpich
If the MPI/MPI-IO include files and/or libraries cannot be
found by the compiler then their directories must be given as
arguments to CPPFLAGS and/or LDFLAGS:
$ CPPFLAGS=-I/usr/local/mpi/include \
LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
./configure --enable-parallel=mpich
If a parallel library is being built then configure attempts
to determine how to run a parallel application on one
processor and on many processors. If the compiler is mpicc
and the user hasn't specified values for RUNSERIAL and
RUNPARALLEL then configure chooses `mpirun' from the same
directory as `mpicc':
RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1
RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2}
The `$${NPROCS:=2}' will be substituted with the value of the
NPROCS environment variable at the time `make check' is run
(or the value 2).

426
MANIFEST
View File

@@ -1,28 +1,20 @@
#------------------------------------------------------------------------------
# This is the list of files that are part of HDF5. All files have a
# `./' prefix and appear in lexicographic order. Lines that end with
# _DO_NOT_DISTRIBUTE_ will not be included in a release. Blank lines
# and comments are ignored. Comments must start in column one.
# This is the list of files that are part of HDF5 source distribution.
# All files have a `./' prefix and appear in lexicographic order.
# Lines that end with _DO_NOT_DISTRIBUTE_ will not be included in a
# release. Blank lines and comments are ignored. Comments must start
# in column one with a '#'.
#------------------------------------------------------------------------------
./COPYING
./INSTALL
./INSTALL_TFLOPS
./INSTALL_VFL
./INSTALL_parallel
./INSTALL_Windows.txt
./HISTORY.txt
./MANIFEST
./Makefile.dist
./Makefile.in
./README
./RELEASE.txt
./README.txt
./acconfig.h
./aclocal.m4
./configure
./configure.in
./all.zip
./all_withhdf4.zip
./bin/checkapi _DO_NOT_DISTRIBUTE_
./bin/checkposix _DO_NOT_DISTRIBUTE_
@@ -32,6 +24,7 @@
./bin/config_para_ibm_sp.sh
./bin/config_para_tflops.sh
./bin/debug-ohdr _DO_NOT_DISTRIBUTE_
./bin/dependencies
./bin/distdep
./bin/errors _DO_NOT_DISTRIBUTE_
./bin/h5vers
@@ -44,13 +37,14 @@
./bin/runtest _DO_NOT_DISTRIBUTE_
./bin/snapshot
./bin/trace
./bin/versinc _DO_NOT_DISTRIBUTE_
./config/BlankForm
./config/alphaev67-linux-gnu
./config/commence.in
./config/conclude.in
./config/dec-flags
./config/dec-osf4.x
./config/dec-osf5.1
./config/depend1.in
./config/depend2.in
./config/depend3.in
@@ -69,8 +63,6 @@
./config/linux-gnulibc1
./config/linux-gnulibc2
./config/powerpc-ibm-aix4.x
./config/powerpc-ibm-aix4.2.1.0
./config/powerpc-ibm-aix4.3.2.0
./config/rs6000-ibm-aix4.x
./config/solaris2.x
./config/sv1-cray
@@ -184,6 +176,7 @@
./doc/html/Graphics/Makefile.in
./doc/html/Graphics/OtherAPIs.gif
./doc/html/Intro/Dependencies
./doc/html/Intro/IntroExamples.html
./doc/html/Intro/Makefile.in
@@ -255,6 +248,7 @@
./doc/html/Tutor/crtgrpd.html
./doc/html/Tutor/extend.html
./doc/html/Tutor/fileorg.html
./doc/html/Tutor/footer-ncsalogo.gif
./doc/html/Tutor/glossary.html
./doc/html/Tutor/img001.gif
./doc/html/Tutor/img002.gif
@@ -265,6 +259,7 @@
./doc/html/Tutor/intro.html
./doc/html/Tutor/iterate.html
./doc/html/Tutor/mount.html
./doc/html/Tutor/property.html
./doc/html/Tutor/questions.html
./doc/html/Tutor/rdwt.html
./doc/html/Tutor/references.html
@@ -272,8 +267,11 @@
./doc/html/Tutor/reftoreg.html
./doc/html/Tutor/select.html
./doc/html/Tutor/selectc.html
./doc/html/Tutor/software.html
./doc/html/Tutor/title.html
./doc/html/Tutor/util.html
./doc/html/Tutor/property.html
./doc/html/Tutor/software.html
./doc/html/Tutor/Graphics/AddInfo.gif
./doc/html/Tutor/Graphics/AdvTopics.gif
@@ -315,6 +313,15 @@
./doc/html/Tutor/examples/Dependencies
./doc/html/Tutor/examples/Makefile.in
./doc/html/Tutor/examples/attrexample.f90
./doc/html/Tutor/examples/chunk.f90
./doc/html/Tutor/examples/compound.f90
./doc/html/Tutor/examples/dsetexample.f90
./doc/html/Tutor/examples/fileexample.f90
./doc/html/Tutor/examples/groupexample.f90
./doc/html/Tutor/examples/grpdsetexample.f90
./doc/html/Tutor/examples/grpit.f90
./doc/html/Tutor/examples/grpsexample.f90
./doc/html/Tutor/examples/h5_compound.c
./doc/html/Tutor/examples/h5_copy.c
./doc/html/Tutor/examples/h5_crtatt.c
@@ -329,14 +336,59 @@
./doc/html/Tutor/examples/h5_mount.c
./doc/html/Tutor/examples/h5_rdwt.c
./doc/html/Tutor/examples/h5_read.c
./doc/html/Tutor/examples/h5_ref2obj.c
./doc/html/Tutor/examples/h5_ref2objr.c
./doc/html/Tutor/examples/h5_ref2objw.c
./doc/html/Tutor/examples/h5_ref2reg.c
./doc/html/Tutor/examples/h5_ref2regr.c
./doc/html/Tutor/examples/h5_ref2regw.c
./doc/html/Tutor/examples/h5_reference.c
./doc/html/Tutor/examples/hyperslab.f90
./doc/html/Tutor/examples/mountexample.f90
./doc/html/Tutor/examples/refobjexample.f90
./doc/html/Tutor/examples/refregexample.f90
./doc/html/Tutor/examples/rwdsetexample.f90
./doc/html/Tutor/examples/selectele.f90
./doc/html/Tutor/examples/java/Dependencies
./doc/html/Tutor/examples/java/Makefile.in
./doc/html/Tutor/examples/java/Makefile.in.txt
./doc/html/Tutor/examples/java/Makefile.txt
./doc/html/Tutor/examples/java/Compound.java
./doc/html/Tutor/examples/java/Copy.java
./doc/html/Tutor/examples/java/CreateAttribute.java
./doc/html/Tutor/examples/java/CreateDataset.java
./doc/html/Tutor/examples/java/CreateFile.java
./doc/html/Tutor/examples/java/CreateFileInput.java
./doc/html/Tutor/examples/java/CreateGroup.java
./doc/html/Tutor/examples/java/CreateGroupAR.java
./doc/html/Tutor/examples/java/CreateGroupDataset.java
./doc/html/Tutor/examples/java/DatasetRdWt.java
./doc/html/Tutor/examples/java/HyperSlab.java
./doc/html/Tutor/examples/java/README
./doc/html/Tutor/examples/java/readme.html
./doc/html/Tutor/examples/java/runCompound.sh
./doc/html/Tutor/examples/java/runCompound.sh.in
./doc/html/Tutor/examples/java/runCopy.sh
./doc/html/Tutor/examples/java/runCopy.sh.in
./doc/html/Tutor/examples/java/runCreateAttribute.sh
./doc/html/Tutor/examples/java/runCreateAttribute.sh.in
./doc/html/Tutor/examples/java/runCreateDataset.sh
./doc/html/Tutor/examples/java/runCreateDataset.sh.in
./doc/html/Tutor/examples/java/runCreateFile.sh
./doc/html/Tutor/examples/java/runCreateFile.sh.in
./doc/html/Tutor/examples/java/runCreateFileInput.sh
./doc/html/Tutor/examples/java/runCreateFileInput.sh.in
./doc/html/Tutor/examples/java/runCreateGroup.sh
./doc/html/Tutor/examples/java/runCreateGroup.sh.in
./doc/html/Tutor/examples/java/runCreateGroupAR.sh
./doc/html/Tutor/examples/java/runCreateGroupAR.sh.in
./doc/html/Tutor/examples/java/runCreateGroupDataset.sh
./doc/html/Tutor/examples/java/runCreateGroupDataset.sh.in
./doc/html/Tutor/examples/java/runDatasetRdWt.sh
./doc/html/Tutor/examples/java/runDatasetRdWt.sh.in
./doc/html/Tutor/examples/java/runHyperSlab.sh
./doc/html/Tutor/examples/java/runHyperSlab.sh.in
./doc/html/cpplus/CppInterfaces.html
./doc/html/cpplus/CppUserNotes.doc
@@ -345,8 +397,10 @@
./doc/html/cpplus/Makefile.in
./doc/html/fortran/Dependencies
./doc/html/fortran/F90Flags.html
./doc/html/fortran/F90UserNotes.html
./doc/html/fortran/Makefile.in
./doc/html/fortran/h5_FORTRAN.html
./doc/html/fortran/h5a_FORTRAN.html
./doc/html/fortran/h5d_FORTRAN.html
./doc/html/fortran/h5e_FORTRAN.html
@@ -415,6 +469,7 @@
./examples/Makefile.in
./examples/h5_chunk_read.c
./examples/h5_compound.c
./examples/h5_drivers.c
./examples/h5_extend_write.c
./examples/h5_group.c
./examples/h5_read.c
@@ -423,7 +478,7 @@
./examples/h5_attribute.c
./examples/h5_mount.c
./examples/h5_reference.c
./examples/run_examples.sh
./examples/ph5example.c
#------------------------------------------------------------------------------
#
@@ -439,17 +494,13 @@
./fortran/configure
./fortran/configure.in
./fortran/bin/config.guess
./fortran/bin/config.sub
./fortran/bin/install-sh
./fortran/bin/ltconfig
./fortran/bin/ltmain.sh
./fortran/config/BlankForm
./fortran/config/alphaev67-linux-gnu
./fortran/config/commence.in
./fortran/config/conclude.in
./fortran/config/dec-flags
./fortran/config/dec-osf4.x
./fortran/config/dec-osf5.1
./fortran/config/depend
./fortran/config/depend1.in
./fortran/config/depend2.in
@@ -468,8 +519,6 @@
./fortran/config/linux-gnu
./fortran/config/linux-gnulibc1
./fortran/config/linux-gnulibc2
./fortran/config/powerpc-ibm-aix4.2.1.0
./fortran/config/powerpc-ibm-aix4.3.2.0
./fortran/config/powerpc-ibm-aix4.x
./fortran/config/rs6000-ibm-aix4.x
./fortran/config/solaris2.x
@@ -498,8 +547,8 @@
./fortran/examples/selectele.f90
./fortran/src/Dependencies
./fortran/src/H5f.c
./fortran/src/H5ff.f90
./fortran/src/H5_f.c
./fortran/src/H5_ff.f90
./fortran/src/H5Af.c
./fortran/src/H5Aff.f90
./fortran/src/H5Df.c
@@ -545,6 +594,7 @@
./fortran/test/hdf5test.f90
./fortran/test/tH5A.f90
./fortran/test/tH5D.f90
./fortran/test/tH5E.f90
./fortran/test/tH5F.f90
./fortran/test/tH5G.f90
./fortran/test/tH5I.f90
@@ -559,7 +609,6 @@
./fortran/testpar/ptesthdf5_fortran.f90
./fortran/testpar/tcheck.f90
./fortran/testpar/thdf5.f90
./fortran/testpar/thdf5.f90
./fortran/testpar/thyperslab_wr.f90
#------------------------------------------------------------------------------
@@ -579,12 +628,6 @@
./c++/configure
./c++/configure.in
./c++/bin/config.guess
./c++/bin/config.sub
./c++/bin/install-sh
./c++/bin/ltconfig
./c++/bin/ltmain.sh
./c++/config/BlankForm
./c++/config/commence.in
./c++/config/conclude.in
@@ -596,6 +639,7 @@
./c++/config/linux-gnu
./c++/config/linux-gnulibc1
./c++/config/linux-gnulibc2
./c++/config/rs6000-ibm-aix4.x
./c++/config/solaris2.x
./c++/examples/Dependencies
@@ -676,6 +720,11 @@
./c++/test/Dependencies
./c++/test/Makefile.in
./c++/test/testhdf5.cpp
./c++/test/dsets.cpp
./c++/test/tfile.cpp
./c++/test/th5s.cpp
./c++/test/th5s.h5
#------------------------------------------------------------------------------
#
@@ -695,9 +744,32 @@
./pablo/ProcIDs.h
./pablo/PabloSedscr
./pablo/ProcTrace.h
./pablo/ProcTrace.inc
./pablo/READ_ME
./perform/Makefile.in
./perform/Dependencies
./perform/chunk.c
./perform/iopipe.c
./perform/mpi-perf.c
./perform/overhead.c
./perform/perf.c
./perform/pio_engine.c
./perform/pio_perf.c
./perform/pio_perf.h
./perform/pio_timer.c
./perform/pio_timer.h
./release_docs/INSTALL
./release_docs/INSTALL_TFLOPS
./release_docs/INSTALL_VFL
./release_docs/INSTALL_parallel
./release_docs/INSTALL_Windows.txt
./release_docs/INSTALL_Windows_withcpp.txt
./release_docs/INSTALL_Windows_withF90.txt
./release_docs/INSTALL_codewarrior.txt
./release_docs/HISTORY.txt
./release_docs/RELEASE.txt
./src/.indent.pro _DO_NOT_DISTRIBUTE_
./src/Dependencies
./src/H5.c
@@ -729,8 +801,6 @@
./src/H5FD.c
./src/H5FDcore.c
./src/H5FDcore.h
./src/H5FDdpss.c
./src/H5FDdpss.h
./src/H5FDfamily.c
./src/H5FDfamily.h
./src/H5FDgass.c
@@ -835,10 +905,7 @@
./test/Makefile.in
./test/big.c
./test/bittests.c
./test/chunk.c
./test/cmpd_dset.c
./test/dpss_read.c
./test/dpss_write.c
./test/dsets.c
./test/dtypes.c
./test/enum.c
@@ -854,14 +921,12 @@
./test/h5test.c
./test/h5test.h
./test/hyperslab.c
./test/iopipe.c
./test/istore.c
./test/lheap.c
./test/links.c
./test/mount.c
./test/mtime.c
./test/ohdr.c
./test/overhead.c
./test/space_overflow.c _DO_NOT_DISTRIBUTE_
./test/gen_old_array.c _DO_NOT_DISTRIBUTE_
./test/gen_new_array.c _DO_NOT_DISTRIBUTE_
@@ -873,14 +938,17 @@
./test/tarray.c
./test/tarrold.h5
./test/tattr.c
./test/tconfig.c
./test/testhdf5.c
./test/testhdf5.h
./test/testmeta.c
./test/tfile.c
./test/tgenprop.c
./test/th5s.c
./test/th5s.h5
./test/titerate.c
./test/tmeta.c
./test/tmisc.c
./test/ttime.c
./test/trefer.c
./test/tselect.c
@@ -906,33 +974,70 @@
./tools/Dependencies
./tools/Makefile.in
./tools/h5debug.c
./tools/h5dump.c
./tools/h5dump.h
./tools/h5dumptst.c
./tools/h5import.c
./tools/h5ls.c
./tools/h5repart.c
./tools/h5toh4.c
./tools/h5toh4.h
./tools/h5tools.c
./tools/h5tools.h
./tools/h4toh5main.c
./tools/h4toh5main.h
./tools/h4toh5pal.c
./tools/h4toh5sds.c
./tools/h4toh5util.c
./tools/h4toh5util.h
./tools/h4toh5image.c
./tools/h4toh5vgroup.c
./tools/h4toh5vdata.c
./tools/h4toh5anno.c
./tools/pdb2hdf.c
./tools/talign.c
./tools/testh5dump.sh
./tools/testh5ls.sh
./tools/testh5toh4.sh
./tools/testh4toh5.sh
./tools/gifconv/Dependencies
./tools/gifconv/Makefile.in
./tools/gifconv/decompress.c
./tools/gifconv/gif.h
./tools/gifconv/gif2hdf.c
./tools/gifconv/gif2mem.c
./tools/gifconv/gifread.c
./tools/gifconv/hdf2gif.c
./tools/gifconv/hdfgifwr.c
./tools/gifconv/readhdf.c
./tools/gifconv/writehdf.c
./tools/h4toh5/Dependencies
./tools/h4toh5/Makefile.in
./tools/h4toh5/h4toh5anno.c
./tools/h4toh5/h4toh5image.c
./tools/h4toh5/h4toh5main.c
./tools/h4toh5/h4toh5main.h
./tools/h4toh5/h4toh5pal.c
./tools/h4toh5/h4toh5sds.c
./tools/h4toh5/h4toh5test.c
./tools/h4toh5/h4toh5util.c
./tools/h4toh5/h4toh5util.h
./tools/h4toh5/h4toh5vdata.c
./tools/h4toh5/h4toh5vgroup.c
./tools/h4toh5/testh4toh5.sh
./tools/h4toh5/parafile
./tools/h5dump/Dependencies
./tools/h5dump/Makefile.in
./tools/h5dump/h5dump.c
./tools/h5dump/h5dump.h
./tools/h5dump/h5dumptst.c
./tools/h5dump/testh5dump.sh
./tools/h5ls/Dependencies
./tools/h5ls/Makefile.in
./tools/h5ls/h5ls.c
./tools/h5ls/testh5ls.sh
./tools/h5toh4/Dependencies
./tools/h5toh4/Makefile.in
./tools/h5toh4/h5toh4.c
./tools/h5toh4/h5toh4.h
./tools/h5toh4/testh5toh4.sh
./tools/lib/Dependencies
./tools/lib/Makefile.in
./tools/lib/h5tools.c
./tools/lib/h5tools.h
./tools/lib/h5tools_str.c
./tools/lib/h5tools_str.h
./tools/lib/h5tools_utils.c
./tools/lib/h5tools_utils.h
./tools/lib/talign.c
./tools/misc/Dependencies
./tools/misc/Makefile.in
./tools/misc/h5cc.in
./tools/misc/h5debug.c
./tools/misc/h5import.c
./tools/misc/h5repart.c
./tools/misc/pdb2hdf.c
./tools/testfiles/tall-1.ddl
./tools/testfiles/tall-2.ddl
@@ -978,6 +1083,8 @@
./tools/testfiles/tgroup-1.ddl
./tools/testfiles/tgroup-2.ddl
./tools/testfiles/tgroup.h5
./tools/testfiles/tgrp_comments.ddl
./tools/testfiles/tgrp_comments.h5
./tools/testfiles/thlink-1.ddl
./tools/testfiles/thlink-2.ddl
./tools/testfiles/thlink-3.ddl
@@ -1012,46 +1119,25 @@
./tools/testfiles/tvldtypes3.h5
./tools/testfiles/tvldtypes4.ddl
./tools/testfiles/tvldtypes4.h5
./tools/testfiles/vg.hdf
./tools/testfiles/anfile.hdf
./tools/testfiles/anno_obj.hdf
./tools/testfiles/image_attr.hdf
./tools/testfiles/image_pal.hdf
./tools/testfiles/image_uint16.hdf
./tools/testfiles/image_uint161.hdf
./tools/testfiles/image_uint8.hdf
./tools/testfiles/image_uint81.hdf
./tools/testfiles/image_uint32.hdf
./tools/testfiles/image_uint321.hdf
./tools/testfiles/sds_dimsca_data.hdf
./tools/testfiles/sds_dimscaunl_data.hdf
./tools/testfiles/sds_typattr.hdf
./tools/testfiles/sds_typchar8.hdf
./tools/testfiles/sds_typchunk_comp.hdf
./tools/testfiles/sds_typfloat32.hdf
./tools/testfiles/sds_typfloat64.hdf
./tools/testfiles/sds_typnfloat32.hdf
./tools/testfiles/sds_typnfloat64.hdf
./tools/testfiles/sds_typint16.hdf
./tools/testfiles/sds_typint32.hdf
./tools/testfiles/sds_typint8.hdf
./tools/testfiles/sds_typlint16.hdf
./tools/testfiles/sds_typlint32.hdf
./tools/testfiles/sds_typlint8.hdf
./tools/testfiles/sds_typluint16.hdf
./tools/testfiles/sds_typluint32.hdf
./tools/testfiles/sds_typluint8.hdf
./tools/testfiles/sds_typuint16.hdf
./tools/testfiles/sds_typuint32.hdf
./tools/testfiles/sds_typuint8.hdf
./tools/testfiles/vdata_attrtest.hdf
./tools/testfiles/vdata_typtest.hdf
./tools/testfiles/vg_attrtest.hdf
./tools/testfiles/vg_hl.hdf
./tools/testfiles/vg_loop.hdf
./tools/testfiles/vg_nameclash.hdf
./tools/testfiles/vg_nameclash2.hdf
./tools/testfiles/vg_simple.hdf
# new hdf4 files for testing h4toh5 converter
./tools/testfiles/anno_test.hdf
./tools/testfiles/gr_typ_test.hdf
./tools/testfiles/grnameclash_test.hdf
./tools/testfiles/image_attr_test.hdf
./tools/testfiles/ras_24_test.hdf
./tools/testfiles/ras_8_test.hdf
./tools/testfiles/ras24il.hdf
./tools/testfiles/sds_attr_test.hdf
./tools/testfiles/sds_dim_test.hdf
./tools/testfiles/sds_typ_test.hdf
./tools/testfiles/sdsnameclash_test.hdf
./tools/testfiles/vdata_test.hdf
./tools/testfiles/vdnameclash_test.hdf
./tools/testfiles/vg_all_test.hdf
./tools/testfiles/vg_hl_test.hdf
./tools/testfiles/vg_loop_test.hdf
./tools/testfiles/vgnameclash_test.hdf
# Expected output from h5ls tests
./tools/testfiles/help-1.ls
@@ -1083,43 +1169,83 @@
./tools/testfiles/Expected/tslink.hdf
./tools/testfiles/Expected/tstr.hdf
./tools/testfiles/Expected/tstr2.hdf
./tools/testfiles/Expected/vg.h5
./tools/testfiles/Expected/anfile.h5
./tools/testfiles/Expected/anno_obj.h5
./tools/testfiles/Expected/image_attr.h5
./tools/testfiles/Expected/image_pal.h5
./tools/testfiles/Expected/image_uint16.h5
./tools/testfiles/Expected/image_uint161.h5
./tools/testfiles/Expected/image_uint8.h5
./tools/testfiles/Expected/image_uint81.h5
./tools/testfiles/Expected/image_uint32.h5
./tools/testfiles/Expected/image_uint321.h5
./tools/testfiles/Expected/sds_dimsca_data.h5
./tools/testfiles/Expected/sds_dimscaunl_data.h5
./tools/testfiles/Expected/sds_typattr.h5
./tools/testfiles/Expected/sds_typchar8.h5
./tools/testfiles/Expected/sds_typchunk_comp.h5
./tools/testfiles/Expected/sds_typfloat32.h5
./tools/testfiles/Expected/sds_typfloat64.h5
./tools/testfiles/Expected/sds_typnfloat32.h5
./tools/testfiles/Expected/sds_typnfloat64.h5
./tools/testfiles/Expected/sds_typint16.h5
./tools/testfiles/Expected/sds_typint32.h5
./tools/testfiles/Expected/sds_typint8.h5
./tools/testfiles/Expected/sds_typlint16.h5
./tools/testfiles/Expected/sds_typlint32.h5
./tools/testfiles/Expected/sds_typlint8.h5
./tools/testfiles/Expected/sds_typluint16.h5
./tools/testfiles/Expected/sds_typluint32.h5
./tools/testfiles/Expected/sds_typluint8.h5
./tools/testfiles/Expected/sds_typuint16.h5
./tools/testfiles/Expected/sds_typuint32.h5
./tools/testfiles/Expected/sds_typuint8.h5
./tools/testfiles/Expected/vdata_attrtest.h5
./tools/testfiles/Expected/vdata_typtest.h5
./tools/testfiles/Expected/vg_attrtest.h5
./tools/testfiles/Expected/vg_hl.h5
./tools/testfiles/Expected/vg_loop.h5
./tools/testfiles/Expected/vg_nameclash.h5
./tools/testfiles/Expected/vg_nameclash2.h5
./tools/testfiles/Expected/vg_simple.h5
#new expected hdf5 files from converter,2/15/01
./tools/testfiles/Expected/anno_test.h5
./tools/testfiles/Expected/gr_typ_test.h5
./tools/testfiles/Expected/grnameclash_test.h5
./tools/testfiles/Expected/image_attr_test.h5
./tools/testfiles/Expected/ras_24_test.h5
./tools/testfiles/Expected/ras_8_test.h5
./tools/testfiles/Expected/ras24il.h5
./tools/testfiles/Expected/sds_attr.h5
./tools/testfiles/Expected/sds_attr_test.h5
./tools/testfiles/Expected/sds_dim_test.h5
./tools/testfiles/Expected/sds_typ_test.h5
./tools/testfiles/Expected/sdsnameclash_test.h5
./tools/testfiles/Expected/vdata_test.h5
./tools/testfiles/Expected/vdnameclash_test.h5
./tools/testfiles/Expected/vg_all_test.h5
./tools/testfiles/Expected/vg_hl_test.h5
./tools/testfiles/Expected/vg_loop_test.h5
./tools/testfiles/Expected/vgnameclash_test.h5
#additional test input and output for h5dump XML
./tools/testfiles/tall.h5.xml
./tools/testfiles/tarray1.h5.xml
./tools/testfiles/tarray2.h5.xml
./tools/testfiles/tarray3.h5.xml
./tools/testfiles/tarray6.h5.xml
./tools/testfiles/tarray7.h5.xml
./tools/testfiles/tattr.h5.xml
./tools/testfiles/tbitfields.h5.xml
./tools/testfiles/tcompound.h5.xml
./tools/testfiles/tcompound2.h5.xml
./tools/testfiles/tdatareg.h5.xml
./tools/testfiles/tdset.h5.xml
./tools/testfiles/tdset2.h5.xml
./tools/testfiles/tempty.h5.xml
./tools/testfiles/tenum.h5.xml
./tools/testfiles/tgroup.h5.xml
./tools/testfiles/thlink.h5.xml
./tools/testfiles/tloop.h5.xml
./tools/testfiles/tloop2.h5.xml
./tools/testfiles/tmany.h5.xml
./tools/testfiles/tname-amp.h5
./tools/testfiles/tname-amp.h5.xml
./tools/testfiles/tname-apos.h5
./tools/testfiles/tname-apos.h5.xml
./tools/testfiles/tname-gt.h5
./tools/testfiles/tname-gt.h5.xml
./tools/testfiles/tname-lt.h5
./tools/testfiles/tname-lt.h5.xml
./tools/testfiles/tname-quot.h5
./tools/testfiles/tname-quot.h5.xml
./tools/testfiles/tname-sp.h5
./tools/testfiles/tname-sp.h5.xml
./tools/testfiles/tnestedcomp.h5.xml
./tools/testfiles/tnodata.h5
./tools/testfiles/tnodata.h5.xml
./tools/testfiles/tobjref.h5.xml
./tools/testfiles/topaque.h5.xml
./tools/testfiles/tref-escapes-at.h5
./tools/testfiles/tref-escapes-at.h5.xml
./tools/testfiles/tref-escapes.h5
./tools/testfiles/tref-escapes.h5.xml
./tools/testfiles/tref.h5
./tools/testfiles/tref.h5.xml
./tools/testfiles/tsaf.h5.xml
./tools/testfiles/tslink.h5.xml
./tools/testfiles/tstr.h5.xml
./tools/testfiles/tstr2.h5.xml
./tools/testfiles/tstring-at.h5
./tools/testfiles/tstring-at.h5.xml
./tools/testfiles/tstring.h5
./tools/testfiles/tstring.h5.xml
./tools/testfiles/tvldtypes1.h5.xml
./tools/testfiles/tvldtypes2.h5.xml
./tools/testfiles/tvldtypes3.h5.xml
./windows/all.zip
./windows/all_withf90.zip
./windows/all_withhdf4.zip

View File

@@ -20,48 +20,48 @@ SUBDIRS=src test tools doc @TESTPARALLEL@ @subdirs@
## T A R G E T S
##
## all: Build libraries, header files, tests, and programs in the
## various subdirectories but does not run tests or install the
## library, header files, or programs. The components can be
## built individually with the targets lib, progs, and tests.
## various subdirectories but does not run tests or install the
## library, header files, or programs. The components can be
## built individually with the targets lib, progs, and tests.
## check: Test the uninstalled library to make sure it works. You may
## also say `test' or `_test' (`test' doesn't work from the top
## level directory for some versions of make because `test' is
## also a directory).
## also say `test' or `_test' (`test' doesn't work from the top
## level directory for some versions of make because `test' is
## also a directory).
## install: Installs libraries, header files, programs, and documentation
## in the various directories under the prefix directory (lib,
## include, bin, man, info). Use the `--prefix=PATH' option
## to `configure' (or `config.status') or say `--help' for
## other alternatives. The default prefix is `/usr/local'.
## in the various directories under the prefix directory (lib,
## include, bin, man, info). Use the `--prefix=PATH' option
## to `configure' (or `config.status') or say `--help' for
## other alternatives. The default prefix is `/usr/local'.
## uninstall: Delete all the installed files that the `install' target
## created (but not the noninstalled files such as `make all'
## created).
## created (but not the noninstalled files such as `make all'
## created).
## clean: Removes temporary files except those that record the
## configuration and those that are part of the distribution.
## configuration and those that are part of the distribution.
## mostlyclean: Like `clean' except it doesn't delete a few files like
## libraries, programs, and/or generated header files because
## regenerating them is rarely necessary and takes a lot of time.
## libraries, programs, and/or generated header files because
## regenerating them is rarely necessary and takes a lot of time.
## distclean: Deletes all files that are created by configuring or building
## HDF5. If you have unpacked the source and built HDF5 without
## creating any other files, then `make distclean' will leave
## only the files that were in the distrubution.
## HDF5. If you have unpacked the source and built HDF5 without
## creating any other files, then `make distclean' will leave
## only the files that were in the distrubution.
## maintainer-clean:
## Like `distclean' except it deletes more files. It deletes
## all generated files. This target is not intended for normal
## users; it deletes files that may require special tools to
## rebuild.
## Like `distclean' except it deletes more files. It deletes
## all generated files. This target is not intended for normal
## users; it deletes files that may require special tools to
## rebuild.
## TAGS: Updates the tags table for this program.
## dep depend: Builds dependencies in all subdirectories. These targets
## might not be available on certain combinations of make
## programs and C compilers. At the other extreme, the GNU
## make used in combination with gcc will maintain dependency
## information automatically.
## might not be available on certain combinations of make
## programs and C compilers. At the other extreme, the GNU
## make used in combination with gcc will maintain dependency
## information automatically.
lib progs check test _test uninstall:
@@SETX@; for d in $(SUBDIRS); do \
(cd $$d && $(MAKE) $@) || exit 1; \
done
tests TAGS dep depend:
@@SETX@; for d in $(SUBDIRS) examples; do \
@@SETX@; for d in $(SUBDIRS) perform examples; do \
(cd $$d && $(MAKE) $@) || exit 1; \
done
@@ -74,6 +74,9 @@ install:
install-doc:
(cd doc && $(MAKE) $@) || exit 1;
uninstall-doc:
(cd doc && $(MAKE) $@) || exit 1;
## Number format detection
H5detect:
(cd src && $(MAKE) $@)
@@ -85,13 +88,13 @@ H5Tinit.c:
mostlyclean distclean maintainer-clean
clean mostlyclean:
@@SETX@; for d in $(SUBDIRS) examples pablo; do \
@@SETX@; for d in $(SUBDIRS) perform examples pablo; do \
(cd $$d && $(MAKE) $@); \
done
-$(RM) conftest conftest.c
distclean:
@@SETX@; for d in $(SUBDIRS) examples pablo; do \
@@SETX@; for d in $(SUBDIRS) perform examples pablo; do \
(cd $$d && $(MAKE) $@); \
done
-$(RM) config/commence config/conclude
@@ -103,7 +106,7 @@ distclean:
maintainer-clean:
@echo "This target is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
@@SETX@; for d in $(SUBDIRS) examples pablo; do \
@@SETX@; for d in $(SUBDIRS) perform examples pablo; do \
(cd $$d && $(MAKE) $@); \
done
-$(RM) config.cache config.log config.status src/H5config.h

View File

@@ -1,4 +1,4 @@
This is hdf5-1.4.0-beta3-pre5 currently under development
HDF5 version 1.4.3-snap12 currently under development
Please refer to the INSTALL file for installation instructions.
------------------------------------------------------------------------------

View File

@@ -1,467 +0,0 @@
HDF5 Release 1.4-Beta3
INTRODUCTION
This document describes the differences between HDF5-1.2.0 and
HDF5-1.4-Beta3, and contains information on the platforms tested and
known problems in HDF5-1.4-Beta3. For more details check the HISTORY.txt
file in the HDF5 source.
The HDF5 documentation can be found on the NCSA ftp server
(ftp.ncsa.uiuc.edu) in the directory:
/HDF/HDF5/docs/
For more information look at the HDF5 home page at:
http://hdf.ncsa.uiuc.edu/HDF5/
If you have any questions or comments, please send them to:
hdfhelp@ncsa.uiuc.edu
CONTENTS
- New Features
- h4toh5 Utility
- F90 Support
- C++ Support
- Bug Fixes since HDF5-1.2.0
- Bug Fixes since HDF5-1.4.0-beta2
- Platforms Tested
- Known Problems
New Features
============
* The Virtual File Layer, VFL, was added to replace the old file
drivers. It also provides an API for user defined file drivers.
* New features added to snapshots. Use 'snapshot help' to see a
complete list of features.
* Improved configure to detect if MPIO routines are available when
parallel mode is requested.
* Added Thread-Safe support. Phase I implemented.
* Added data sieve buffering to raw data I/O path. This is enabled
for all VFL drivers except the mpio & core drivers. Setting the
sieve buffer size is controlled with the new API function,
H5Pset_sieve_buf_size(), and retrieved with H5Pget_sieve_buf_size().
* Added new Virtual File Driver, Stream VFD, to send/receive entire
HDF5 files via socket connections.
* As parts of VFL, HDF-GASS and HDF-SRB are also added to this
release. To find out details, please read INSTALL_VFL file.
* Increased maximum number of dimensions for a dataset (H5S_MAX_RANK)
from 31 to 32 to align with HDF4 & netCDF.
* Added 'query' function to VFL drivers. Also added 'type' parameter to
VFL 'read' & 'write' calls, so they are aware of the type of data
being accessed in the file. Updated the VFL document also.
* A new h4toh5 uitlity, to convert HDF4 files to analogous HDF5 files.
* Added a new array datatype to the datatypes which can be created. Removed
"array fields" from compound datatypes (use an array datatype instead).
* Parallel HDF5 works correctly with mpich-1.2.1 on Solaris, SGI, Linux.
* You can now install the HDF5 documentation using the
``make install-doc'' command. The documentation is installed in the
$(prefix)/doc directory where $(prefix) is the prefix specified by
the (optional) ``--prefix'' flag during configuration.
h4toh5 Utility
==============
The h4toh5 utility is a new utility that converts an HDF4 file to an
HDF5 file. For details, see the document, "Mapping HDF4 Objects to
HDF5 Objects":
http://hdf.ncsa.uiuc.edu/HDF5/papers/H4-H5MappingGuidelines.pdf
Known Bugs:
The h4toh5 utility produces images that do not correctly conform
to the HDF5 Image and Palette Specification.
http://hdf.ncsa.uiuc.edu/HDF5/doc/ImageSpec.html
Several required HDF5 attributes are omitted, and the dataspace
is reversed (i.e., the ht. and width of the image dataset is
incorrectly described.) For more information, please see:
http://hdf.ncsa.uiuc.edu/HDF5/H5Image/ImageDetails.htm
Known Limitations of the h4toh5 beta release
---------------------------------------------
1. Error Handling
Error reporting is minimal.
2. String Datatype
HDF4 has no 'string' type. String valued data are usually defined as
an array of 'char' in HDF4. The h4toh5 utility will generally map
these to HDF5 'String' types rather than array of char, with the
following additional rules:
* For the data of an HDF4 SDS, image, and palette, if the data is
declared 'DFNT_CHAR8' it will be assumed to be integer and
will be an H5T_INTEGER type.
* For attributes of any HDF4 object, data of type 'DFNT_CHAR8'
will be converted to an HDF5 'H5T_STRING' type.
* For an HDF4 Vdata, it is difficult to determine whether data
of type 'DFNT_CHAR8' is intended to be bytes or characters.
The h4toh5 utility will consider them to be C characters, and
will convert them to an HDF5 'H5T_STRING' type.
3. Compression, Chunking and External Storage
Chunking is supported, but compression and external storage is not.
An HDF4 object that uses chunking will be converted to an HDF5 file
with analogous chunked storage.
An HDF4 object that uses compression will be converted to an
uncompressed HDF5 object.
An HDF4 object that uses external storage will be converted to an
HDF5 object without external storage.
4. Memory Use
The beta version of the h4toh5 utility copies data from HDF4 objects
in a single read followed by a single write to the HDF5 object. For
large objects, this requires a very large amount of memory, which may
be extremely slow or fail on some platforms.
Note that a dataset that has only been partly written will
be read completely, including uninitialized data, and all the
data will be written to the HDF5 object.
5. Platforms
The h4toh5 utility requires HDF5.1.4 and HDF4r1.4
The beta h4toh5 utility has been tested on Solaris 2.6, Solaris 2.5,
Irix 6.5, HPUX 11.0, DEC Unix, FreeBSD, Windows 2000(NT5.0),Windows NT
and Windows 98.
F90 Support
===========
This is the first release of the HDF5 Library with fully integrated
F90 API support. The Fortran Library is created when the
--enable-fortran flag is specified during configuration.
Not all F90 subroutines are implemented. Please refer to the HDF5
Reference Manual for more details.
F90 APIs are available for the Solaris 2.6 and 2.7, Linux, DEC UNIX,
T3E, J90 and O2K (64 bit option only) platforms. The Parallel version of
the HDF5 F90 Library is supported on the O2K and T3E platforms.
Changes since the last prototype release (July 2000)
----------------------------------------------------
* h5open_f and h5close_f must be called instead of h5init_types and
h5close_types.
* The following subroutines are no longer available:
h5pset_xfer_f
h5pget_xfer_f
h5pset_mpi_f
h5pget_mpi_f
h5pset_stdio_f
h5pget_stdio_f
h5pset_sec2_f
h5pget_sec2_f
h5pset_core_f
h5pget_core_f
h5pset_family_f
h5pget_family_f
* The following functions have been added:
h5pset_fapl_mpio_f
h5pget_fapl_mpio_f
h5pset_dxpl_mpio_f
h5pget_dxpl_mpio_f
* In the previous HDF5 F90 releases, the implementation of object
references and dataset region references was not portable. This
release introduces a portable implementation, but it also introduces
changes to the read/write APIs that handle references. If object or
dataset region references are written or read to/from an HDF5 file,
h5dwrite_f and h5dread_f must use the extra parameter, n, for the
buffer size:
h5dwrite(read)_f(dset_id, mem_type_id, buf, n, hdferr, &
^^^
mem_space_id, file_space_id, xfer_prp)
For other datatypes the APIs were not changed.
C++ Support
===========
This is the first release of the HDF5 Library with fully integrated
C++ API support. The HDF5 C++ library is built when the --enable-cxx
flag is specified during configuration.
Check the HDF5 Reference Manual for available C++ documentation.
C++ APIs are available for Solaris 2.6 and 2.7, Linux, and FreeBSD.
Bug Fixes since HDF5-1.2.0
==========================
Library
-------
* The function H5Pset_mpi is renamed as H5Pset_fapl_mpio.
* Corrected a floating point number conversion error for the Cray J90
platform. The error did not convert the value 0.0 correctly.
* Error was fixed which was not allowing dataset region references to
have their regions retrieved correctly.
* Corrected a bug that caused non-parallel file drivers to fail in
the parallel version.
* Added internal free-lists to reduce memory required by the library
and H5garbage_collect API function
* Fixed error in H5Giterate which was not updating the "index"
parameter correctly.
* Fixed error in hyperslab iteration which was not walking through the
correct sequence of array elements if hyperslabs were staggered in a
certain pattern
* Fixed several other problems in hyperslab iteration code.
* Fixed another H5Giterate bug which was causes groups with large
numbers of objects in them to misbehave when the callback function
returned non-zero values.
* Changed return type of H5Aiterate and H5A_operator_t typedef to be
herr_t, to align them with the dataset and group iterator functions.
* Changed H5Screate_simple and H5Sset_extent_simple to not allow
dimensions of size 0 with out the same dimension being unlimited.
* QAK - 4/19/00 - Improved metadata hashing & caching algorithms to
avoid many hash flushes and also remove some redundant I/O when
moving metadata blocks in the file.
* The "struct(opt)" type conversion function which gets invoked for
certain compound datatype conversions was fixed for nested compound
types. This required a small change in the datatype conversion
function API.
* Re-wrote lots of the hyperslab code to speed it up quite a bit.
* Added bounded garbage collection for the free lists when they run
out of memory and also added H5set_free_list_limits API call to
allow users to put an upper limit on the amount of memory used for
free lists.
* Checked for non-existent or deleted objects when dereferencing one
with object or region references and disallow dereference.
* "Time" datatypes (H5T_UNIX_D*) were not being stored and retrieved
from object headers correctly, fixed now.
* Fixed H5Dread or H5Dwrite calls with H5FD_MPIO_COLLECTIVE requests
that may hang because not all processes are transfer the same amount
of data. (A.K.A. prematured collective return when zero amount data
requested.) Collective calls that may cause hanging is done via the
corresponding MPI-IO independent calls.
* If configure with --enable-debug=all, couple functions would issue
warning messages to "stderr" that the operation is expensive time-wise.
This messed up applications (like testings) that did not expect the
extra output. It is changed so that the warning will be printed only
if the corresponding Debug key is set.
Configuration
-------------
* The hdf5.h include file was fixed to allow the HDF5 Library to be
compiled with other libraries/applications that use GNU autoconf.
* Configuration for parallel HDF5 was improved. Configure now attempts
to link with libmpi.a and/or libmpio.a as the MPI libraries by
default. It also uses "mpirun" to launch MPI tests by default. It
tests to link MPIO routines during the configuration stage, rather
than failing later as before. One can just do "./configure
--enable-parallel" if the MPI library is in the system library.
* Added support for pthread library and thread-safe option.
* The libhdf5.settings file shows the correct machine byte-sex.
* Added option "--enable-stream-vfd" to configure w/o the Stream VFD.
For Solaris, added -lsocket to the LIBS list of libraries.
Tools
-----
* h5dump now accepts both short and long command-line parameters:
-h, --help Print a usage message and exit
-B, --bootblock Print the content of the boot block
-H, --header Print the header only; no data is displayed
-i, --object-ids Print the object ids
-V, --version Print version number and exit
-a P, --attribute=P Print the specified attribute
-d P, --dataset=P Print the specified dataset
-g P, --group=P Print the specified group and all members
-l P, --soft-link=P Print the value(s) of the specified soft link
-o F, --output=F Output raw data into file F
-t T, --datatype=T Print the specified named data type
-w #, --width=# Set the number of columns
P - is the full path from the root group to the object.
T - is the name of the data type.
F - is a filename.
# - is an integer greater than 1.
* A change from the old way command line parameters were interpreted
is that multiple attributes, datasets, groups, soft-links, and
object-ids cannot be specified with just one flag but you have to
use a flag with each object. I.e., instead of doing this:
h5dump -a /attr1 /attr2 foo.h5
do this:
h5dump -a /attr1 -a /attr2 foo.h5
The cases are similar for the other object types.
* h5dump correctly displays compound datatypes.
* Corrected an error in h5toh4 which did not convert the 32bits
int from HDF5 to HDF4 corectly for the T3E platform.
* h5dump correctly displays the committed copy of predefined types
correctly.
* Added an option, -V, to show the version information of h5dump.
* Fixed a core dumping bug of h5toh4 when executed on platforms like
TFLOPS.
* The test script for h5toh4 used to not able to detect the hdp
dumper command was not valid. It now detects and reports the
failure of hdp execution.
* Merged the tools with the 1.2.2 branch. Required adding new
macros, VERSION12 and VERSION13, used in conditional compilation.
Updated the Windows project files for the tools.
* h5dump displays opaque and bitfield data correctly.
* h5dump and h5ls can browse files created with the Stream VFD
(eg. "h5ls <hostname>:<port>").
* h5dump has a new feature "-o <filename>" which outputs the raw data
of the dataset into ascii text file <filename>.
* h5toh4 used to converts hdf5 strings type to hdf4 DFNT_INT8 type.
Corrected to produce hdf4 DFNT_CHAR type instead.
* h5dump and h5ls displays array data correctly.
Documentation
-------------
* User's Guide and Reference Manual were updated.
See doc/html/PSandPDF/index.html for more details.
Bug Fixes since HDF5-1.4.0-beta2
================================
* Fixed a bug in the conversion from a little endian double to a big endian float
in some special cases.
* Corrected configuration error which was not including compression support
correctly.
* Cleaned up lots of warnings.
* Changed a few h5dump command line switches and added long versions of
the switches.
* Changed parameters for H5Tconvert, H5Pset_bufer and H5Pget_buffer from
size_t to hsize_t
* Fixed fairly obscure bug in hyperslab I/O which could (in rare cases)
not copy all the data during a transfer.
* Removed ragged array code from library.
* F90 library and module files are installed properly now on all supported platforms.
Platforms Tested
================
Note: Due to the nature of the bug fixes, only static versions of the
library and tools were tested.
AIX 4.3.2 (IBM SP) mpcc_r 3.6.6
Cray T3E sn6711 2.0.5.45 Cray Standard C Version 6.4.0.0
Cray Fortran Version 3.4.0.2
Cray SV1 sn9605 10.0.0.7 Cray Standard C Version 6.4.0.0
Cray Fortran Version 3.4.0.2
FreeBSD 4.2 gcc 2.95.2
g++ 2.95.2
HP-UX B.10.20 HP C HP92453-01 A.10.32.30
HP-UX B.11.00 HP C HP92453-01 A.11.00.13
IRIX 6.5 MIPSpro cc 7.30
IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
mpt.1.4.0.2
mpich-1.2.1
Linux 2.2.16-3smp gcc-2.95.2
g++ 2.95.2
pgf90 3.1-3
OSF1 V4.0 DEC-V5.2-040
Digital Fortran 90 V4.1-270
SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0
(Solaris 2.6) WorkShop Compilers 5.0 99/10/25 Fortran 90
2.0 Patch 107356-04
Workshop Compilers 5.0 98/12/15 C++ 5.0
SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0
(Solaris 2.7) WorkShop Compilers 5.0 99/10/25 Fortran 90
2.0 Patch 107356-04
Workshop Compilers 5.0 98/12/15 C++ 5.0
TFLOPS 3.3 mpich-1.2.0 with local changes
Windows NT4.0, 2000 (NT5.0) MSVC++ 6.0
Windows 98 MSVC++ 6.0
Known Problems
==============
* The --enable-static-exec configure flag fails to compile for Solaris
platforms. This is due to the fact that not all of the system
libraries on Solaris are available in a static format.
The --enable-static-exec configure flag also fails to correctly compile
on Linux platforms using the gcc-2.95.2 compiler.
It is suggested that you don't use this option on these platforms
during configuration.
* With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during
compilation. The ANSI version of the compiler complains about not being
able to handle the `long long' datatype with the warning:
warning: ANSI C does not support `long long'
This warning is innocuous and can be safely ignored.
* SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will
fail if library is compiled using optimization of any level.
* When building hdf5 tools and applications on windows platform, a linking
warning: defaultlib "LIBC" conflicts with use of other libs will appear
on debug version when running VC++6.0. This warning doesn't affect building
and testing hdf5 applications. We will continue investigating this.
* h5toh4 converter fails two cases(tstr.h5 and tmany.h5) for release dll version on
windows 2000 and NT.
The reason is possibly due to windows NT DLL convention on freeing memory. It seems
that memory cannot be free across library or DLL. It is still under investigated.
* The Stream VFD was not tested yet under Windows.
It is not supported in the TFLOPS machine.
* Shared library option is broken for IBM SP and some Origin 2000 platforms.
One needs to run ./configure with '--disable-shared'
* The ./dsets tests failed in the TFLOPS machine if the test program,
dsets.c, is compiled with the -O option. The hdf5 library still works
correctly with the -O option. The test program works fine if it is
compiled with -O1 or -O0. Only -O (same as -O2) causes the test
program to fail.
* Certain platforms give false negatives when testing h5ls:
- Solaris x86 2.5.1, Cray T3E and Cray J90 give errors during testing
when displaying object references in certain files. These are benign
differences due to the difference in sizes of the objects created on
those platforms. h5ls appears to be dumping object references
correctly.
- Cray J90 (and Cray T3E?) give errors during testing when displaying
some floating-point values. These are benign differences due to the
different precision in the values displayed and h5ls appears to be
dumping floating-point numbers correctly.
* Before building HDF5 F90 Library from source on Crays (T3E and J90)
replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src subdirectory
in the top level directory with the Cray-specific files from the
ftp://hdf.ncsa.uiuc.edu/pub/ougoing/hdf5/hdf5-1.4.0-beta/F90_source_for_Crays
directory.
* The h4toh5 utility produces images that do not correctly conform
to the HDF5 Image and Palette Specification.
http://hdf.ncsa.uiuc.edu/HDF5/doc/ImageSpec.html
Several required HDF5 attributes are omitted, and the dataspace
is reversed (i.e., the ht. and width of the image dataset is
incorrectly described.) For more information, please see:
http://hdf.ncsa.uiuc.edu/HDF5/H5Image/ImageDetails.htm

View File

@@ -52,9 +52,6 @@
/* Define if the SRB is defined */
#undef HAVE_SRB
/* Define if the Grid Storage is defined */
#undef HAVE_GRIDSTORAGE
/* Define if the stream virtual file driver should be compiled */
#undef HAVE_STREAM

BIN
all.zip

Binary file not shown.

Binary file not shown.

3
bin/config.guess vendored
View File

@@ -205,6 +205,9 @@ EOF
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit 0;;
SR2?01:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit 0;;

41
bin/dependencies Executable file
View File

@@ -0,0 +1,41 @@
#!/usr/bin/perl -w
#
# Copyright (C) 2001
# National Center for Supercomputing Applications.
# All rights reserved.
#
my $depend_file;
my $new_depend_file;
my $srcdir;
my $top_srcdir;
my $top_builddir;
while ($_ = shift @ARGV) {
if (/^--srcdir=([^ \t\n]*)/) {
$srcdir = $1;
$srcdir =~ s/\./\\\./g;
} elsif (/^--top_srcdir=([^ \t\n]*)/) {
$top_srcdir = $1;
$top_srcdir =~ s/\./\\\./g;
} elsif (/^--top_builddir=([^ \t\n]*)/) {
$top_builddir = $1;
$top_builddir =~ s/\./\\\./g;
} else {
$depend_file = $_;
$new_depend_file = "$_.new";
last;
}
}
open(DEPEND, "<$depend_file") || die "cannot open file $depend_file: $!\n";
open(NEW, ">$new_depend_file") || die "cannot open file $new_depend_file: $!\n";
while (<DEPEND>) {
s/\.o/\.lo/g;
s/ $srcdir/ \$\(srcdir\)/g;
s/ $top_srcdir/ \$\(top_srcdir\)/g;
s/ $top_builddir/ \$\(top_builddir\)/g;
print NEW $_;
}
`mv $new_depend_file $depend_file`;

View File

@@ -56,8 +56,8 @@ use strict;
# ./H5public.h or ./src/H5public.h.
#
# If the version number is changed (either `-s' or `-i' was used on
# the command line) then the first line of the README file one
# directory above the H5public.h file is also modified so it looks
# the command line) then the first line of the README.txt and RELEASE.txt files
# one directory above the H5public.h file is also modified so it looks
# something like: This is hdf5-1.2.3-pre1 currently under development.
##############################################################################
@@ -78,6 +78,9 @@ sub setvers {
$_[0] =~ s/^(\#\s*define\s+H5_VERS_MINOR\s+)\d+/$1$vers[1]/m;
$_[0] =~ s/^(\#\s*define\s+H5_VERS_RELEASE\s+)\d+/$1$vers[2]/m;
$_[0] =~ s/^(\#\s*define\s+H5_VERS_SUBRELEASE\s+\")[^\"]*/$1$vers[3]/m;
$_[0] =~ s/^(\#\s*define\s+H5_VERS_INFO\s+\")[^\"]*/
sprintf("%sHDF5 library version: %d.%d.%d%s%s", $1, @vers[0,1,2],
$vers[3]?"-":"", $vers[3])/me;
}
sub usage {
@@ -90,7 +93,7 @@ Usage: $prog [OPTS] [FILE]
-s VERSION
Set the version as specified. The version number can be embedded in
some other string such as \"hdf5-1.1.0-pre1.tar.bz2\" or even
\"this is hdf5 version 1.1 release 0 (pre1)\" for convenience.
\"this is HDF5 library version 1.1 release 0 (pre1)\" for convenience.
-v
Instead of displaying only a dotted triple version number a line such
as \"version 1.1 release 0 (pre1)\" will be printed.
@@ -133,8 +136,9 @@ while ($_ = shift) {
}
die "mutually exclusive options given\n" if $set && $inc;
# Determine file to use as H5public.h and README. The README file is
# always in the directory above H5public.h
# Determine file to use as H5public.h, README.txt and release_docs/RELEASE.txt.
# The README.txt and release_docs/RELEASE.txt files are always in the
# directory above H5public.h
unless ($file) {
for (@files) {
($file=$_,last) if -f $_;
@@ -142,9 +146,14 @@ unless ($file) {
}
die "unable to find source files\n" unless defined $file;
die "unable to read file: $file\n" unless -r $file;
# README.txt
my $README = $file;
$README =~ s/[^\/]*$/..\/README/;
$README =~ s/[^\/]*$/..\/README.txt/;
die "unable to read file: $README\n" unless -r $file;
# release_docs/RELEASE.txt
my $RELEASE = $file;
$RELEASE =~ s/[^\/]*$/..\/release_docs\/RELEASE.txt/;
die "unable to read file: $RELEASE\n" unless -r $file;
# Get the current version number.
open FILE, $file or die "unable to open $file: $!\n";
@@ -190,6 +199,7 @@ if ($set) {
} else {
# Nothing to do but print result
$README = "";
$RELEASE = "";
@newver = @curver;
}
@@ -212,12 +222,12 @@ if ($newver[0]!=$curver[0] ||
close FILE;
}
# Update the README file
# Update the README.txt file
if ($README) {
open FILE, $README or die "$README: $!\n";
my @contents = <FILE>;
close FILE;
$contents[0] = sprintf("This is hdf5-%d.%d.%d%s %s",
$contents[0] = sprintf("HDF5 version %d.%d.%d%s %s",
@newver[0,1,2],
$newver[3] eq "" ? "" : "-".$newver[3],
"currently under development\n");
@@ -226,6 +236,20 @@ if ($README) {
close FILE;
}
# Update the release_docs/RELEASE.txt file
if ($RELEASE) {
open FILE, $RELEASE or die "$RELEASE: $!\n";
my @contents = <FILE>;
close FILE;
$contents[0] = sprintf("HDF5 version %d.%d.%d%s %s",
@newver[0,1,2],
$newver[3] eq "" ? "" : "-".$newver[3],
"currently under development\n");
open FILE, ">$RELEASE" or die "$RELEASE: $!\n";
print FILE @contents;
close FILE;
}
# Print the new version number
if ($verbose) {
printf("version %d.%d release %d%s\n", @newver[0,1,2],

View File

@@ -698,7 +698,11 @@ else
case "$host_os" in
aix3* | aix4*)
# All AIX code is PIC.
link_static_flag='-bnso -bI:/lib/syscalls.exp'
####################################################################
## HACK Alert! This is causing problems with C++ on SP3...We'll just
## remove this...THERE! All better now.
####################################################################
##link_static_flag='-bnso -bI:/lib/syscalls.exp'
;;
hpux9* | hpux10* | hpux11*)
@@ -1284,12 +1288,12 @@ else
hname="`hostname`"
case "$hname" in
*pacific.llnl.gov*)
*pacific.llnl.gov* | *s0*)
hardcode_libdir_flag_spec=' '
;;
;;
*)
hardcode_libdir_flag_spec='${wl}-b ${wl}nolibpath ${wl}-b ${wl}libpath:$libdir:/usr/lib:/lib'
;;
;;
esac
hardcode_libdir_separator=':'

View File

@@ -1656,7 +1656,7 @@ compiler."
# Check that each of the things are valid numbers.
case "$current" in
0 | [1-9] | [1-9][0-9]*) ;;
[0-9]*) ;;
*)
$echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
$echo "$modename: \`$vinfo' is not valid version information" 1>&2
@@ -1665,7 +1665,7 @@ compiler."
esac
case "$revision" in
0 | [1-9] | [1-9][0-9]*) ;;
[0-9]*) ;;
*)
$echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
$echo "$modename: \`$vinfo' is not valid version information" 1>&2
@@ -1674,7 +1674,7 @@ compiler."
esac
case "$age" in
0 | [1-9] | [1-9][0-9]*) ;;
[0-9]*) ;;
*)
$echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
$echo "$modename: \`$vinfo' is not valid version information" 1>&2
@@ -2451,7 +2451,25 @@ EOF
libdir="$hardcode_libdirs"
eval rpath=\" $hardcode_libdir_flag_spec\"
fi
finalize_rpath="$rpath"
# Hack to fix the problem with compilers on Irix[56] machines which
# can't handle long -Wl flags being sent to the linker during a
# "recompile" just before execution. -BW 20. April 2001
case "$host" in
*irix[56]*)
# Add in paths just for the HDF5 library stuff...
pwd=`pwd`;
rpath="${wl}-rpath ${wl}$pwd/.libs:$pwd/../src/.libs:$pwd/../../src/.libs:$pwd/../test/.libs$rpath";
# Modify the rpaths so that the compiler can handle the number
# of library paths
finalize_rpath=`echo $rpath | sed -e "s#:# ${wl}-rpath ${wl}#g"`;
compile_rpath=`echo $rpath | sed -e "s#:# ${wl}-rpath ${wl}#g"`;
;;
*)
finalize_rpath="$rpath";
;;
esac
output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
if test "X$output_objdir" = "X$output"; then
@@ -3462,7 +3480,11 @@ libdir='$install_libdir'\
if test "$finalize" = yes && test -z "$run"; then
tmpdir="/tmp"
test -n "$TMPDIR" && tmpdir="$TMPDIR"
tmpdir="$tmpdir/libtool-$$"
tmpdir=`mktemp -d $tmpdir/libtool-XXXXXX 2> /dev/null`
if test $? = 0 ; then :
else
tmpdir="$tmpdir/libtool-$$"
fi
if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
else
$echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2

26
bin/mkdirs Executable file
View File

@@ -0,0 +1,26 @@
#! /bin/sh
#
# Copyright (C) 2001
# National Center for Supercomputing Applications
# All rights reserved.
#
# This is a small program which will create directories n-levels deep.
# You just call it with something like:
#
# mkdirs /tmp/foo/bar/baz
#
# and it will create all the directories from /tmp down to baz which
# don't exist.
#
chmodprog="${CHMODPROG-chmod}"
mkdirprog="${MKDIRPROG-mkdir}"
make_dir () {
if test ! -d $1; then
make_dir `echo $1 | sed -e 's#/[^/]*$##'`
$mkdirprog $1
$chmodprog 755 $1
fi
}
make_dir `echo $1 | sed -e 's#/$##'`

View File

@@ -99,11 +99,20 @@ test -h ../hdf5-$VERS && rm ../hdf5-$VERS
ln -s `pwd` ../hdf5-$VERS || exit 1
mv Makefile ../Makefile.x 2>/dev/null #might fail
cp -p Makefile.dist Makefile
# synchronize the HISTORY and RELEASE files in the doc area
cp HISTORY.txt RELEASE.txt doc/html/ADGuide/.
echo "This is hdf5-$VERS released on `date`" >README.x
tail +2l README >>README.x
mv README.x README
# Update README.txt and release_docs/RELEASE.txt with release information.
for f in README.txt release_docs/RELEASE.txt; do
echo "HDF5 version $VERS released on `date`" >$f.x
tail +2l $f >>$f.x
mv $f.x $f
# Make sure new files are of the right access mode
chmod 644 $f
done
# synchronize the HISTORY.tx and RELEASE.tx files in the doc area
cp release_docs/HISTORY.txt release_docs/RELEASE.txt doc/html/ADGuide/.
# Create the tar file
test "$verbose" && echo " Running tar..." 1>&2
( \
cd ..; \
@@ -112,8 +121,6 @@ test "$verbose" && echo " Running tar..." 1>&2
)
# Compress
# Make sure new files are of the right access mode
umask 0133
for comp in $methods; do
case $comp in
tar)
@@ -130,6 +137,9 @@ for comp in $methods; do
esac
done
# Copy the RELEASE.txt to the release area.
cp release_docs/RELEASE.txt $DEST/hdf5-$VERS-RELEASE.txt
# Remove temporary things
test -f ../Makefile.x && mv ../Makefile.x Makefile
rm -f $MANIFEST

View File

@@ -1,5 +1,4 @@
#! /bin/sh
# $Id$
# run the hdf5/bin/snapshot
# Usage:
# runtest run the test for the local host
@@ -22,12 +21,13 @@ test -n "$DEBUGMODE" && echo "******** DEBUGMODE is $DEBUGMODE ************"
WHEREAMI='pwd'
# the name of this program
PROGNAME=bin/runtest
PROGNAME="bin/runtest $DEBUGMODE"
# Setup
HOSTNAME=`hostname | cut -f1 -d.` # no domain part
H5DIR=$HOME/HDF5/v_1_3/hdf5
H5DIR=$HOME/HDF5/v_1_4/hdf5
TODAY=`date +%y%m%d`
WEEKDAY=`date +%a`
H5VER= # default to current CVS version
H5VERSTR= # default to current CVS version
@@ -39,54 +39,24 @@ SRCDIR="srcdir"
SNAPCMD="$SRCDIR test clean"
# Default Standard snaptest command options
STANDARD_OPT=""
ENABLE_PARALLEL="op-configure --enable-parallel"
#SNAPCMD="$SRCDIR op-configure --enable-stream-vfd op-configure --enable-static-exec test clean"
ENABLE_PARALLEL="--enable-parallel"
#***************
# Various hosts
#***************
# DEC
# Gondolin: DEC
#DECHOST="skydive" # skydive is being upgraded.
# gondolin rsh/ssh don't work.
# HP
# sangamon: HPUX 10
# opus: HPUX 11
HPHOST="sangamon" # HPUX 10 & 11 # opus removed because both its
# NFS and AFS filesystems have problems.
# Linux
# Dangermouse, eirene: Linux
# Dangermouse used to die if gmake -j is used.
LINUXHOST=eirene
# SGI O2K
# modi4: R10K, IRIX64 6.5, default to -64,-mips4
# Testing {parallel,serial}x{-64,-n32}x
O2KHOST=modi4
# regular, unleaded, premium:
# R10K, IRIX64 6.5, default to -n32,-mips4
# impact7: R4400, IRIX 6.5, default to -n32,-mips3
# o2-N: R10K, IRIX 6.5, default to -n32,-mips4
# paz: R4400, IRIX 6.5, default to -n32,-mips3
SGIHOST="regular impact7 o2-3"
# Sun
SUNHOST="arabica baldric" # solaris 2.6 and 2.7
# FreeBSD
# AFS does not work well in hawkwind. Use NFS/local space for its
# test directory. ssh does not work for it either.
FREEBSDHOST="hawkwind"
# set up default all hosts to test
ALLHOSTS="$O2KHOST $SUNHOST $SGIHOST $HPHOST $LINUXHOST $DECHOST $FREEBSDHOST"
# test hosts
# test host default as local host.
TESTHOST=""
#################################
# Function definitions
#################################
# Print messages to stdout
# Use this to show output heading to stdout
PRINT()
{
echo "$*"
}
# Show seconds since midnight.
# This is used to calculate seconds elapsed
SecOfDay()
{
set `date '+%H %M %S'`
@@ -113,11 +83,12 @@ REPORT_ERR()
{
ERRMSG=$1
# print it with a banner shifted right a bit
echo " *************************************"
echo " $ERRMSG"
echo " *************************************"
PRINT " *************************************"
PRINT " `date`"
PRINT " $ERRMSG"
PRINT " *************************************"
# report it in the FAILED-LOG file too
(date; echo "$ERRMSG") >> $FAILEDLOG
PRINT "$ERRMSG" >> $FAILEDLOG
}
#
@@ -125,28 +96,35 @@ REPORT_ERR()
REPORT_RESULT()
{
if [ $retcode -eq 0 ]; then
echo "$TEST_TYPE tests succeeded in $HOSTNAME"
PRINT "PASSED ${HOSTNAME}: $TEST_TYPE" | tee -a $PASSEDLOG
else
# test failed.
REPORT_ERR "****$TEST_TYPE tests FAILED in $HOSTNAME****"
REPORT_ERR "****FAILED ${HOSTNAME}: $TEST_TYPE****"
fi
}
# Print a blank line
PRINT_BLANK()
{
echo
PRINT
}
# Print test trailer
PRINT_TEST_TRAILER()
{
PRINT "*** finished $TEST_TYPE tests for $HOSTNAME ***"
date; EndTime=`SecOfDay`
PRINT Total time = `ElapsedTime $StartTime $EndTime`
PRINT_BLANK
}
# Print trailer summary
PRINT_TRAILER()
{
echo "*** finished $TEST_TYPE tests in $HOSTNAME ***"
date; EndTime=`SecOfDay`
echo Total time = `ElapsedTime $StartTime $EndTime`
PRINT "*** finished tests in $HOSTNAME ***"
date; TotalEndTime=`SecOfDay`
PRINT Grand total tests time = `ElapsedTime $TotalStartTime $TotalEndTime`
PRINT_BLANK
# reset StartTime for the next elapsed time report
StartTime=`SecOfDay`
}
# Figure out which remote command to use to reach a host.
@@ -165,29 +143,95 @@ CHECK_RSH()
elif ping localhost 3 >/dev/null 2>&1; then
PING=ping
PINGCOUNT=3
else # don't know how to use ping. Set it to false.
PING=false
else # don't know how to use ping.
PING=no_ping
PINGCOUNT=
fi
fi
#
host=$1
if $PING $host $PINGCOUNT >/dev/null 2>&1; then
# Try remote command with host if it responds to ping.
# Still try it if we don't know how to do ping.
if [ no_ping = "$PING" ] || $PING $host $PINGCOUNT >/dev/null 2>&1; then
if rsh $host -n hostname >/dev/null 2>&1; then
RSH=rsh
elif ssh $host -n hostname >/dev/null 2>&1; then
RSH=ssh
else
echo cannot remote command with $host
RSH="false"
PRINT cannot remote command with $host
RSH="NoRemoteCommand"
fi
else
echo $host is down
RSH="false"
RSH="NotReachable"
fi
}
# Wait for a file for at most number of minutes
# $1--the file
# $2--number of minutes
# WAIT_STATUS set to:
# -1 if errors encountered
# 0 if file found within time limit
# 1 if file not found within time limit
WAITFOR()
{
wait_file=$1
nminutes=$2
if [ -z "$wait_file" -o ! "$nminutes" -ge 0 ]
then
PRINT "errors in argument of WAITFOR(): wait_file($1) or nminutes($2)"
WAIT_STATUS=-1
return
fi
while [ ! -f $wait_file ]; do
if [ $nminutes -gt 0 ]; then
PRINT "Wait For $wait_file to appear"
sleep 60 #sleep 1 minute
else
WAIT_STATUS=1
return
fi
nminutes=`expr $nminutes - 1`
done
WAIT_STATUS=0
return
}
# Wait till a file disappears for at most number of minutes.
# Useful to wait till a lock is removed by another process.
# $1--the file
# $2--number of minutes
# WAIT_STATUS set to:
# -1 if errors encountered
# 0 if file disappears within time limit
# 1 if file has not disappeared within time limit
WAITTILL()
{
wait_file=$1
nminutes=$2
if [ -z "$wait_file" -o ! "$nminutes" -ge 0 ]
then
PRINT "errors in argument of WAITTILL(): wait_file($1) or nminutes($2)"
WAIT_STATUS=-1
return
fi
while [ -f $wait_file ]; do
if [ $nminutes -gt 0 ]; then
PRINT "Wait till $wait_file has disappeared"
sleep 60 #sleep 1 minute
else
WAIT_STATUS=1
return
fi
nminutes=`expr $nminutes - 1`
done
WAIT_STATUS=0
return
}
# Run one snapshot test
# $*--Types of test being run
RUNSNAPTEST()
@@ -200,37 +244,55 @@ RUNSNAPTEST()
TEST_TYPE=$*
retcode=0
date
echo "*** starting $TEST_TYPE tests in $HOSTNAME ***"
echo "Uname -a: `uname -a`"
PRINT "*** starting $TEST_TYPE tests in $HOSTNAME ***"
PRINT "Uname -a: `uname -a`"
# parse the test type and set options accordingly
# Parse the test type and set options accordingly.
# See comments of SNAPTEST_CONFIG_PARSE().
while [ $# -gt 0 ]; do
case $1 in
-n32) # want -n32 option
SRCDIRNAME=${SRCDIRNAME}-n32
CC="cc -n32"
export CC
shift
;;
parallel) # want parallel test
SNAPCMD_OPT="$SNAPCMD_OPT $ENABLE_PARALLEL"
SRCDIRNAME=${SRCDIRNAME}-pp
shift
;;
standard) # standard test
shift
;;
--*)
# option for configure
SNAPCMD_OPT="$SNAPCMD_OPT $1"
;;
op-configure)
# option for configure
SNAPCMD_OPT="$SNAPCMD_OPT $1 $2"
shift
;;
setenv)
# set environment variable
shift
eval $1="$2"
export $1
shift
;;
setenv2)
# set environment variable with 2 values
# a kludge now--the extra single quotes are needed
# else eval complains.
shift
eval $1="'$2 $3'"
export $1
shift; shift
;;
*) # unknown test
echo "$0: unknown type of test ($1)"
PRINT "$0: unknown type of test ($1)"
retcode=1
shift
;;
esac
shift
done
[ $retcode -ne 0 ] && errcode=$retcode && return $retcode
@@ -249,16 +311,11 @@ RUNSNAPTEST()
SNAPCMD_OPT="$SNAPCMD_OPT srcdirname ${SRCDIRNAME}"
fi
# If LOGFILE already exists, it means this host has been tested today.
# Do at most one run per day.
# Setup log file name to save test output
LOGFILE=${LOGBASENAME}${SRCDIRNAME}_${TODAY}
if [ -f $LOGFILE ]; then
echo LOGFILE $LOGFILE exists. No more run today.
retcode=1 && errcode=$retcode && return $retcode
fi
echo Running snapshot with output saved in $LOGFILE
(date; echo Hostname=$HOSTNAME) >> $LOGFILE
PRINT "Running snapshot with output saved in"
PRINT " $LOGFILE"
(date; PRINT Hostname=$HOSTNAME) >> $LOGFILE
(
cd $SNAPYARD/current
@@ -278,13 +335,42 @@ RUNSNAPTEST()
# configuration parsing.
# Taking configuration from input.
# This should be invoke with configure file as stdin.
# Syntax of the configure file:
# All lines started with the # are comment lines and are ignored.
# Blank lines are ignored too.
# Each config line starts with a "Scope" followed by test types.
#
# Scope can be:
# standard ... # what the standard test types are.
# <host>: <test> Do <test> for <host>
# all: <test> Do <test> for all hosts.
# <weekday>/... Use this scope if the <weekday> matches.
# <weekday> can be {Mon,Tue,Wed,Thu,Fri,Sat,Sun}
# If no <host>: input for a <host>, the standard test is used.
#
# Test types:
# standard tests defined in standard scope.
# -n32 -n32 mode. Apply to 64/32 bit OS such as IRIX64.
# parallel parallel mode.
# op-configure <option> configure option
# --* configure option
# setenv <name> <value> set environment variable <name> to <value>
SNAPTEST_CONFIG_PARSE()
{
while read x y ; do
# Scan for entry for this weekday.
xd=`echo $x | cut -f1 -d/`
if [ "$xd" = ${WEEKDAY} ]; then
# strip away the weekday/ part.
x=`echo $x | cut -f2 -d/`
fi
case "$x" in
'#'*)
# comment. Continue.
'' | '#'*)
# blank or comment lines. Continue.
;;
???/*)
# Ignore any entry not of this weekday.
;;
standard)
#standard configuration
STANDARD_OPT="$y"
@@ -300,8 +386,8 @@ SNAPTEST_CONFIG_PARSE()
*:) # ignore types of test for other hosts
;;
*) # unknown configuration option
echo $x $y
echo "***Unknown configuration option. Ignored.***"
PRINT $x $y
PRINT "***Unknown configuration option. Ignored.***"
;;
esac
done
@@ -335,13 +421,17 @@ FLUSH_FILES()
USAGE()
{
cat <<EOF
Usage: runtest [-h] [-r<version>] [-all] [<host> ...]
Usage: runtest [-h] [-debug] [-r<version>] [-all] [-nocvs] [<host> ...]
-h
print this help page
-debug
turn on debug mode
-r<version>
do runtest for <version>
-all
launch tests for all pre-defined testing hosts
-nocvs
do not do cvs commands
<host>
launch tests for <host>
@@ -371,6 +461,13 @@ while [ $# -gt 0 ]; do
USAGE
exit 0
;;
-debug*)
# set debug mode
DEBUGMODE="$1"
SNAPSHOT="echo bin/snapshot"
PROGNAME="$PROGNAME $DEBUGMODE"
PRINT "******** DEBUGMODE is $DEBUGMODE ************"
;;
-r*)
# the version string has a leading _ but not for H5DIR name
H5VER="$1"
@@ -379,10 +476,15 @@ while [ $# -gt 0 ]; do
PROGNAME="$PROGNAME $H5VER"
;;
-all)
TESTHOST=$ALLHOSTS
# Test all hosts.
TESTHOST=-all
;;
-nocvs)
# do not do cvs commands
NOCVS=nocvs
;;
-*) # Unknow option
echo "Unknown option ($1)"
PRINT "Unknown option ($1)"
USAGE
exit 1
;;
@@ -401,12 +503,29 @@ done
SNAPYARD=`cd $HOME/snapshots-hdf5${H5VERSTR} && /bin/pwd`
# Log file basename
LOGBASENAME=${SNAPYARD}/log/${HOSTNAME}
PASSEDLOG=${SNAPYARD}/log/PASSED_LOG_${TODAY}
FAILEDLOG=${SNAPYARD}/log/FAILED_LOG_${TODAY}
CVSLOG=${SNAPYARD}/log/CVS_LOG_${TODAY}
CVSLOG_LOCK=${SNAPYARD}/log/CVS_LOG_LOCK_${TODAY}
# Snap Test Configuration file
SNAPTESTCFG=${SNAPYARD}/snaptest.cfg
#################################
# Setup test host(s)
#################################
ALLHOSTSFILE=${SNAPYARD}/allhostfile
if [ "$TESTHOST" = -all ]; then
if [ -f $ALLHOSTSFILE ]; then
TESTHOST=`sed -e s/#.*// $ALLHOSTSFILE`
else
PRINT "could not access the all-hosts-file ($ALLHOSTSFILE)"
USAGE
exit 1
fi
fi
#################################
# Setup to print a trailer summary when exiting not via
# the normal end of the script.
@@ -414,32 +533,55 @@ SNAPTESTCFG=${SNAPYARD}/snaptest.cfg
trap PRINT_TRAILER 0
#
StartTime=`SecOfDay`
TotalStartTime=`SecOfDay`
# Process the configuration
SNAPTEST_CONFIG
echo STANDARD_OPT=$STANDARD_OPT
echo TEST_TYPES=$TEST_TYPES
PRINT STANDARD_OPT=$STANDARD_OPT
PRINT TEST_TYPES=$TEST_TYPES
PRINT_BLANK
# Do a checkout if one has not been done today
# Also check MANIFEST file
if [ ! -f $CVSLOG ]; then
echo Running CVS checkout with output saved in $CVSLOG
if [ -z "$NOCVS" -a ! -f $CVSLOG ]; then
PRINT "Running CVS checkout with output saved in"
PRINT " $CVSLOG"
# Set CVS lock first
touch $CVSLOG_LOCK
($SNAPSHOT checkout ) >> $CVSLOG 2>&1
# Save error code and remove the lock
errcode=$?
rm -f $CVSLOG_LOCK
if [ $errcode -ne 0 ]; then
# test failed.
REPORT_ERR "****CVS checkout FAILED in $HOSTNAME****"
REPORT_ERR "****FAILED ${HOSTNAME}: CVS checkout****"
exit $errcode
fi
echo Checking MAINFEST file ...
PRINT Checking MAINFEST file ...
(cd $SNAPYARD/current; bin/chkmanifest)
errcode=$?
if [ $errcode -ne 0 ]; then
# test failed.
REPORT_ERR "****MANIFEST check FAILED****"
REPORT_ERR "****FAILED ${HOSTNAME}: MANIFEST check****"
fi
PRINT_BLANK
else
# make sure the cvs update, if done by another host, has completed.
# First wait for the presence of $CVSLOG which signals some host
# has started the cvs update. Then wait for the absense of $CVSLOG_LOCK
# which signals the host has completed the cvs update.
WAITFOR $CVSLOG 90
if [ $WAIT_STATUS -ne 0 ]; then
errcode=$WAIT_STATUS
REPORT_ERR "****FAILED ${HOSTNAME}: Time expired waiting CVS update to start****"
exit $errcode
fi
WAITTILL $CVSLOG_LOCK 10
if [ $WAIT_STATUS -ne 0 ]; then
errcode=$WAIT_STATUS
REPORT_ERR "****FAILED ${HOSTNAME}: Time expired waiting CVS update to finish****"
exit $errcode
fi
fi
# we can use the version of script in SNAPYARD/current now
@@ -448,21 +590,41 @@ PROGNAME="$SNAPYARD/current/$PROGNAME"
# Decide to do test for the local host or for remote hosts
if [ -n "$TESTHOST" -a $HOSTNAME != "$TESTHOST" ]; then
date
echo "*** launching tests from $HOSTNAME ***"
PRINT "*** launching tests from $HOSTNAME ***"
PRINT_BLANK
TEST_TYPE="launching"
cd ${SNAPYARD}/log
for h in $TESTHOST; do
TMP_OUTPUT="#$h.out"
(PRINT "=============="
PRINT "Testing $h"
PRINT "==============") > $TMP_OUTPUT
CHECK_RSH $h
# launch concurrent tests only if srcdir is used
if [ -n "$SRCDIR" ]; then
(echo $RSH $h -n $PROGNAME;
$RSH $h -n $PROGNAME) > $TMP_OUTPUT 2>&1 &
else
(echo $RSH $h -n $PROGNAME;
$RSH $h -n $PROGNAME) > $TMP_OUTPUT 2>&1
fi
# run the remote shell command with output to $TMP_OUTPUT
case "$RSH" in
rsh|ssh)
PRINT $RSH $h -n $PROGNAME
# kludge: some how eirene and houdin can not have
# rsh connections too close. wait a few seconds
test $h = houdin && echo "wait 10 sec for houdin" && sleep 10
# launch concurrent tests only if srcdir is used
if [ -n "$SRCDIR" ]; then
$RSH $h -n $PROGNAME &
else
$RSH $h -n $PROGNAME
fi
;;
NoRemoteCommand)
PRINT $h does not accept Remote Command
;;
NotReachable)
PRINT $h is not reachable
;;
*)
PRINT "CHECK_RSH for $h returned unknow result ($RSH)"
;;
esac >> $TMP_OUTPUT 2>&1
done
# wait for all launched tests to finish, then cat them back out.
wait
@@ -470,8 +632,9 @@ if [ -n "$TESTHOST" -a $HOSTNAME != "$TESTHOST" ]; then
TMP_OUTPUT="#$h.out"
cat $TMP_OUTPUT
# Verify test script did complete by checking the last lines
(tail -2 $TMP_OUTPUT | grep -s '^Total time' > /dev/null 2>&1) ||
REPORT_ERR "****snaptest FAILED to complete in $h****"
(tail -2 $TMP_OUTPUT | grep -s '^Grand total' > /dev/null 2>&1) ||
(REPORT_ERR "****FAILED ${h}: snaptest did not complete****" &&
PRINT_BLANK)
rm $TMP_OUTPUT
done
exit 0
@@ -489,9 +652,10 @@ fi
n_test=1
TEST="`echo $TEST_TYPES | cut -f1 -d';'`"
while [ -n "$TEST" ]; do
StartTime=`SecOfDay`
RUNSNAPTEST $TEST
REPORT_RESULT
PRINT_TRAILER
PRINT_TEST_TRAILER
n_test=`expr $n_test + 1`
TEST="`echo $TEST_TYPES | cut -f$n_test -s -d';'`"
@@ -499,6 +663,8 @@ done
FLUSH_FILES
PRINT_TRAILER
# disable trailer summary printing since all trailers have been
# printed and we are exiting normally.
trap 0

View File

@@ -1,4 +1,7 @@
#!/bin/sh
echo "====================================="
echo "$0 $*"
echo "====================================="
set -x
date
uname -a
@@ -40,7 +43,6 @@ fi
cmd="all"
test_opt=""
errcode=0
echo '$#=' $# '$*="' $* '"'
while [ $# -gt 0 ] ; do
case "$1" in
all)
@@ -100,6 +102,9 @@ while [ $# -gt 0 ] ; do
fi
ARCHIVES="$1"
;;
--*)
OP_CONFIGURE="$OP_CONFIGURE $1"
;;
op-configure)
shift
if [ $# -lt 1 ]; then
@@ -125,7 +130,7 @@ if [ "$cmd" = help ]; then
cat <<EOF
Usage: $0 [all] [checkout] [test] [srcdir] [release] [help]
[hdf4 <hdf4lib_path>] [archive <arch_path>] [dir <dir>]
[op-configure <option>]
[op-configure <option>] [--<option>]
all: Run all commands (checkout, test & release)
[Default is all]
checkout: Run cvs checkout
@@ -152,6 +157,10 @@ Usage: $0 [all] [checkout] [test] [srcdir] [release] [help]
Pass <option> to the configure command
E.g., "snapshot op-configure --enable-parallel"
configures for parallel mode
--<option>:
Pass --<option> to the configure command
E.g., "snapshot --enable-parallel"
configures for parallel mode
EOF
exit $errcode
fi
@@ -164,11 +173,16 @@ CONFIGURE="./configure $HDF4LIB $OP_CONFIGURE"
# Execute the requests
snapshot=yes
H5VERSION=hdf5
H5VERSION=hdf5_1_4
BASEDIR=${HOME}/snapshots-${H5VERSION}
CURRENT=${BASEDIR}/current
PREVIOUS=${BASEDIR}/previous
HOSTNAME=`hostname | cut -f1 -d.` # no domain part
if [ $H5VERSION != hdf5 ]; then
CVSVERSION="-r $H5VERSION"
else
CVSVERSION= # use the default (main) version
fi
# Try finding a version of diff that supports the -I option too.
DIFF=diff
@@ -186,8 +200,18 @@ if [ "$cmd" = "all" -o -n "$cmdcheckout" ]; then
# not, just create one and assume that a snapshot is necessary.
test -d ${BASEDIR} || mkdir -p ${BASEDIR} || exit 1
# If there is a Makefile in ${CURRENT}, the last test done in it
# has not been distclean'ed. They would interfere with other
# --srcdir build since make considers the files in ${CURRENT}
# take precedence over files in its own build-directory. Run
# a "make distclean" to clean them all out. This is not really
# part of the "checkout" functions but this is the most convenient
# spot to do the distclean. We will also continue the checkout process
# regardless of the return code of distclean.
( cd ${CURRENT}; test -f Makefile && ${MAKE} distclean)
# Check out the current version from CVS
cvs -Q co -d ${CURRENT} hdf5 || exit 1
cvs -Q co -d ${CURRENT} ${CVSVERSION} hdf5 || exit 1
fi # Do CVS checkout
@@ -211,6 +235,8 @@ if [ "$cmd" = "all" -o -n "$cmdtest" ]; then
TESTDIR=${BASEDIR}/TestDir/${SRCDIRNAME}
test -d ${TESTDIR} || mkdir ${TESTDIR}
fi
INSTALLDIR=${TESTDIR}/installdir
test -d $INSTALLDIR || mkdir $INSTALLDIR
# Make sure current version exists and is clean
if [ -d ${TESTDIR} ]; then
(cd ${TESTDIR} && ${MAKE} distclean)
@@ -226,20 +252,28 @@ if [ "$cmd" = "all" -o -n "$cmdtest" ]; then
if (${DIFF} -c ${PREVIOUS}/MANIFEST ${CURRENT}/MANIFEST); then
snapshot=no
for src in `grep '^\.' ${CURRENT}/MANIFEST|expand|cut -f1 -d' '`; do
${DIFF} -I H5_VERS_RELEASE -I " released on " \
if ${DIFF} -I H5_VERS_RELEASE -I " released on " \
-I " currently under development" \
${PREVIOUS}/$src ${CURRENT}/$src || \
${PREVIOUS}/$src ${CURRENT}/$src
then
: #continue
else
snapshot=yes
# Don't break because we want to see all the diffs.
break
fi
done
fi
fi
# Make sure all the serial tests work.
# Build, run tests and install procedures
if [ "$snapshot" = "yes" ]; then
if (cd ${TESTDIR}; \
${srcdir:+${CURRENT}/}${CONFIGURE}; \
${MAKE} check); then
if (cd ${TESTDIR} && \
${srcdir:+${CURRENT}/}${CONFIGURE} --prefix=$INSTALLDIR && \
${MAKE} && \
${MAKE} check && \
${MAKE} install install-doc && \
${MAKE} uninstall uninstall-doc); then
:
else
errcode=$?
@@ -255,7 +289,7 @@ fi # Test the HDF5 library
#=============================
if [ "$cmd" = "all" -o -n "$cmdrel" ]; then
if [ "$snapshot" = "yes" ]; then
(cd ${CURRENT}; ${MAKE} distclean)
(cd ${CURRENT} && ${MAKE} distclean)
(
# Turn on exit on error in the sub-shell so that it does not
# cvs commit if errors encounter here.

View File

@@ -1,32 +0,0 @@
#! /usr/local/bin/perl -w
require 5.003;
use Cwd;
# Get the current directory and build the source files name based on it.
($cwd)=(cwd()=~m#(.*?hdf5)/.*#);
$hdr = "$cwd/src/H5public.h";
$bak = "$cwd/src/H5public.h~";
$tmp = "$cwd/src/H5public.$$";
# Open files
open OLD, $hdr or die "cannot read $hdr";
open NEW, ">$tmp" or die "cannot write to $tmp";
while (<OLD>) {
if (/^(\#\s*define\s+H5_VERS_RELEASE\s+)(\d+)(.*)/) {
print NEW $1, $2+1, $3, "\n";
} elsif (/^(\#\s*define\s+H5_VERS_PATCH\s+)(\d+)(.*)/) {
print NEW $1, "0", $3, "\n";
} else {
print NEW;
}
}
close OLD;
close NEW;
# Create a backup
rename $hdr, $bak or warn "cannot create backup version";
rename $tmp, $hdr or die "cannot update version number";
exit 0;

View File

@@ -1,7 +1,7 @@
## Top-level HDF5-C++ Makefile(.in)
##
## Copyright (C) 2000 National Center for Supercomputing Applications.
## All rights reserved.
## Copyright (C) 2000-2001 National Center for Supercomputing Applications.
## All rights reserved.
##
##
## This makefile mostly just reinvokes make in the various subdirectories
@@ -17,7 +17,7 @@ srcdir=@srcdir@
# Subdirectories in build-order (not including `examples')
# We include examples now since those are our "tests" at this time. We
# can remove it later.
SUBDIRS=src test examples
SUBDIRS=src test
##############################################################################
## T A R G E T S
@@ -72,9 +72,8 @@ lib progs check test _test uninstall:
(cd $$d && $(MAKE) $@) || exit 1; \
done
## @@SETX@; for d in $(SUBDIRS) examples; do
tests TAGS dep depend:
@@SETX@; for d in $(SUBDIRS); do \
@@SETX@; for d in $(SUBDIRS) examples; do \
(cd $$d && $(MAKE) $@) || exit 1; \
done
@@ -87,16 +86,14 @@ install:
.PHONY: all lib progs test _test install uninstall dep depend clean \
mostlyclean distclean maintainer-clean
## @@SETX@; for d in $(SUBDIRS) examples; do
clean mostlyclean:
@@SETX@; for d in $(SUBDIRS); do \
@@SETX@; for d in $(SUBDIRS) examples; do \
(cd $$d && $(MAKE) $@); \
done
-$(RM) conftest conftest.c
## @@SETX@; for d in $(SUBDIRS) examples; do
distclean:
@@SETX@; for d in $(SUBDIRS); do \
@@SETX@; for d in $(SUBDIRS) examples; do \
(cd $$d && $(MAKE) $@); \
done
-$(RM) config/commence config/conclude

1183
c++/bin/config.guess vendored

File diff suppressed because it is too large Load Diff

1272
c++/bin/config.sub vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,251 +0,0 @@
#!/bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5 (mit/util/scripts/install.sh).
#
# Copyright 1991 by the Massachusetts Institute of Technology
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
else
true
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d $dst ]; then
instcmd=:
chmodcmd=""
else
instcmd=mkdir
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f $src -o -d $src ]
then
true
else
echo "install: $src does not exist"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
else
true
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
else
true
fi
fi
## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp="${pathcomp}${1}"
shift
if [ ! -d "${pathcomp}" ] ;
then
$mkdirprog "${pathcomp}"
else
true
fi
pathcomp="${pathcomp}/"
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
else
dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename $dst`
else
true
fi
# Make a temp file name in the proper directory.
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp &&
trap "rm -f ${dsttmp}" 0 &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
# Now rename the file to the real destination.
$doit $rmcmd -f $dstdir/$dstfile &&
$doit $mvcmd $dsttmp $dstdir/$dstfile
fi &&
exit 0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -23,14 +23,12 @@ ROOT=@ROOT@
LIBS=@LIBS@
AR=@AR@
RANLIB=@RANLIB@
PERL=@PERL@
RM=rm -f
CP=cp
INSTALL=@INSTALL@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
INSTALL_DATA=@INSTALL_DATA@
RUNSERIAL=@RUNSERIAL@
RUNPARALLEL=@RUNPARALLEL@
RUNTEST=$(RUNSERIAL)
TRACE=:
## Installation points
@@ -47,7 +45,7 @@ LT_STATIC_EXEC=@LT_STATIC_EXEC@
DYNAMIC_DIRS=@DYNAMIC_DIRS@
LT=$(top_builddir)/libtool
LT_COMPILE=$(LT) --mode=compile $(CXX)
LT_LINK_LIB=$(LT) --mode=link $(CXX) -static -rpath $(libdir)
LT_LINK_LIB=$(LT) --mode=link $(CXX) -static -rpath $(libdir) $(DYNAMIC_DIRS)
LT_LINK_EXE=$(LT) --mode=link $(CXX) $(LT_STATIC_EXEC) -dlopen self -static -rpath $(bindir) $(DYNAMIC_DIRS)
LT_RUN=$(LT) --mode=execute
LT_INSTALL_PROG=$(LT) --mode=install $(INSTALL_PROGRAM)

View File

@@ -25,28 +25,29 @@ tests: $(TEST_PROGS) $(LIB)
check test _test: tests
@for test in $(TEST_PROGS) dummy; do \
if test $$test != dummy; then \
echo "============================"; \
echo "Testing $$test $(TEST_FLAGS)"; \
echo "============================"; \
echo ""; \
echo "====================================="; \
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
echo "====================================="; \
echo ""; \
srcdir="$(srcdir)" \
$(RUNTEST) ./$$test $(TEST_FLAGS) || \
./$$test $(TEST_FLAGS) || \
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
break; \
echo ""; \
fi; \
done; \
test $$test = dummy || false
@for test in $(TEST_SCRIPTS) dummy; do \
if test $$test != dummy; then \
echo "============================"; \
echo "Testing $$test $(TEST_FLAGS)"; \
echo "============================"; \
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
echo ""; \
echo "====================================="; \
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
echo "====================================="; \
echo ""; \
srcdir="$(srcdir)" \
/bin/sh $$test $(TEST_FLAGS) || \
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
break; \
echo ""; \
fi; \
done; \
test $$test = dummy || false

View File

@@ -21,34 +21,31 @@
## tilde to the file name.
##
$(srcdir)/Dependencies: .depend
@if test "$(srcdir)" != "."; then \
echo '## This file is machine generated on GNU systems.' >$@; \
echo '## Only temporary changes may be made here.' >>$@; \
echo >>$@; \
perl -p $(top_srcdir)/bin/distdep .depend >>$@; \
else \
echo 'Dependencies cannot be built when $$srcdir == $$builddir'; \
fi
@if test "$(srcdir)" != "."; then \
echo '## This file is machine generated on GNU systems.' >$@; \
echo '## Only temporary changes may be made here.' >>$@; \
echo >>$@; \
$(PERL) -p $(top_srcdir)/bin/distdep .depend >>$@; \
else \
echo 'Dependencies cannot be built when $$srcdir == $$builddir'; \
fi
.depend: $(LIB_SRC) $(TEST_SRC) $(PROG_SRC)
@touch .depend
@for dep in $? dummy; do \
if [ $$dep != "dummy" ]; then \
case "$$dep" in \
*.cpp) \
echo Building dependencies for $$dep; \
obj=`basename $$dep .cpp`.lo; \
sed '\%^'"$$obj"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@; \
$(TRACE) $$dep; \
$(CC) -M -MG $(CPPFLAGS) $$dep 2>/dev/null | \
sed 's% $(srcdir)/% $$(srcdir)/%g' | \
sed 's% $(top_srcdir)/% $$(top_srcdir)/%g' | \
sed 's% $(top_builddir)/% $$(top_builddir)/%g' | \
sed 's/\.o/.lo/' >>$@; \
;; \
esac; \
fi; \
done;
@for dep in $? dummy; do \
if test $$dep != "dummy" -a -n "$(PERL)"; then \
case "$$dep" in \
*.c) \
echo Building dependencies for $$dep; \
obj=`basename $$dep .c`.lo; \
sed '\%^'"$$obj"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@; \
$(TRACE) $$dep; \
$(CC) -MM -MG $(CPPFLAGS) $$dep 2>/dev/null >>$@; \
$(PERL) -w $(top_srcdir)/bin/dependencies --srcdir=$(srcdir) --top_srcdir=$(top_srcdir) --top_builddir=$(top_builddir) $@; \
;; \
esac; \
fi; \
done
-include .depend

34
c++/config/irix6.x Normal file
View File

@@ -0,0 +1,34 @@
# -*- shell-script -*-
#
# This file is part of the HDF5 build script. It is processed shortly
# after configure starts and defines, among other things, flags for
# the various compile modes.
#
# See BlankForm in this directory for details
# The default compiler is `MIPSpro CC'
if test -z "$CXX"; then
CXX=CC
CXX_BASENAME=CC
fi
# Try native compiler flags
if test -z "$cxx_flags_set"; then
# -LANG:std required for std use; -ptused causes templates used to be
# instantiated
CPPFLAGS="-LANG:std -ptused"
# libCio is a default library, since libtool before 1.5 doesn't fully
# support C++ yet, default libraries must be explicitly specified.
# A new macro is used for this temporary and specific task so it
# won't polute the existing configuration
DEFAULT_LIBS="-lCio"
DEBUG_CXXFLAGS=-g
DEBUG_CPPFLAGS=
PROD_CXXFLAGS="-O -s"
PROD_CPPFLAGS=
PROFILE_CXXFLAGS=-xpg
PROFILE_CPPFLAGS=
cxx_flags_set=yes
fi

View File

@@ -0,0 +1,14 @@
# -*- shell-script -*-
#
# This file is part of the HDF5 build script. It is processed shortly
# after configure starts and defines, among other things, flags for
# the various compile modes.
#
# See BlankForm in this directory for details.
# CFLAGS must be set else configure set it to -g
CFLAGS="$CFLAGS"
# Cross compiling defaults
ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}

83
c++/configure vendored
View File

@@ -636,7 +636,7 @@ fi
ac_aux_dir=
for ac_dir in bin $srcdir/bin; do
for ac_dir in ../bin $srcdir/../bin; do
if test -f $ac_dir/install-sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
@@ -648,7 +648,7 @@ for ac_dir in bin $srcdir/bin; do
fi
done
if test -z "$ac_aux_dir"; then
{ echo "configure: error: can not find install-sh or install.sh in bin $srcdir/bin" 1>&2; exit 1; }
{ echo "configure: error: can not find install-sh or install.sh in ../bin $srcdir/../bin" 1>&2; exit 1; }
fi
ac_config_guess=$ac_aux_dir/config.guess
ac_config_sub=$ac_aux_dir/config.sub
@@ -1689,13 +1689,51 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
exec 5>>./config.log
if test -z "$AR"; then
for ac_prog in ar xar
PERL=""
if test "X$GCC" = "Xyes"; then
for ac_prog in perl
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1699: checking for $ac_word" >&5
echo "configure:1700: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_PERL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$PERL"; then
ac_cv_prog_PERL="$PERL" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_prog_PERL="$ac_prog"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
PERL="$ac_cv_prog_PERL"
if test -n "$PERL"; then
echo "$ac_t""$PERL" 1>&6
else
echo "$ac_t""no" 1>&6
fi
test -n "$PERL" && break
done
fi
if test -z "$AR"; then
for ac_prog in ar xar
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1737: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1730,7 +1768,7 @@ fi
if test -z "$SEARCH"; then
echo $ac_n "checking how make searches directories""... $ac_c" 1>&6
echo "configure:1734: checking how make searches directories" >&5
echo "configure:1772: checking how make searches directories" >&5
while true; do #for break
cat >maketest <<EOF
VPATH=$srcdir/config $srcdir/src $srcdir/bin
@@ -1794,7 +1832,7 @@ EOF
fi
echo $ac_n "checking for production mode""... $ac_c" 1>&6
echo "configure:1798: checking for production mode" >&5
echo "configure:1836: checking for production mode" >&5
# Check whether --enable-production or --disable-production was given.
if test "${enable_production+set}" = set; then
enableval="$enable_production"
@@ -1828,7 +1866,7 @@ case "X-$enable_production" in
esac
echo $ac_n "checking if should build only statically linked executables""... $ac_c" 1>&6
echo "configure:1832: checking if should build only statically linked executables" >&5
echo "configure:1870: checking if should build only statically linked executables" >&5
# Check whether --enable-static_exec or --disable-static_exec was given.
if test "${enable_static_exec+set}" = set; then
enableval="$enable_static_exec"
@@ -1854,12 +1892,12 @@ cross_compiling=$ac_cv_prog_cxx_cross
echo $ac_n "checking if $CXX can handle namespaces""... $ac_c" 1>&6
echo "configure:1858: checking if $CXX can handle namespaces" >&5
echo "configure:1896: checking if $CXX can handle namespaces" >&5
if test "$cross_compiling" = yes; then
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
#line 1863 "configure"
#line 1901 "configure"
#include "confdefs.h"
#ifdef __cplusplus
extern "C" void exit(int);
@@ -1878,7 +1916,7 @@ int main(void) {
}
EOF
if { (eval echo configure:1882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
if { (eval echo configure:1920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo yes
@@ -1897,12 +1935,12 @@ fi
echo $ac_n "checking if $CXX needs old style header files in includes""... $ac_c" 1>&6
echo "configure:1901: checking if $CXX needs old style header files in includes" >&5
echo "configure:1939: checking if $CXX needs old style header files in includes" >&5
if test "$cross_compiling" = yes; then
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
#line 1906 "configure"
#line 1944 "configure"
#include "confdefs.h"
#ifdef __cplusplus
extern "C" void exit(int);
@@ -1913,7 +1951,7 @@ extern "C" void exit(int);
int main(void) { return 0; }
EOF
if { (eval echo configure:1917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
if { (eval echo configure:1955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo no
@@ -1932,12 +1970,12 @@ fi
echo $ac_n "checking if $CXX supports bool types""... $ac_c" 1>&6
echo "configure:1936: checking if $CXX supports bool types" >&5
echo "configure:1974: checking if $CXX supports bool types" >&5
if test "$cross_compiling" = yes; then
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
#line 1941 "configure"
#line 1979 "configure"
#include "confdefs.h"
#ifdef __cplusplus
extern "C" void exit(int);
@@ -1949,7 +1987,7 @@ int main(void) {
}
EOF
if { (eval echo configure:1953: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
if { (eval echo configure:1991: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo yes
@@ -1968,12 +2006,12 @@ fi
echo $ac_n "checking if $CXX can handle static cast""... $ac_c" 1>&6
echo "configure:1972: checking if $CXX can handle static cast" >&5
echo "configure:2010: checking if $CXX can handle static cast" >&5
if test "$cross_compiling" = yes; then
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
#line 1977 "configure"
#line 2015 "configure"
#include "confdefs.h"
#ifdef __cplusplus
extern "C" void exit(int);
@@ -1988,7 +2026,7 @@ int main(void) {
}
EOF
if { (eval echo configure:1992: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
if { (eval echo configure:2030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo yes
@@ -2056,7 +2094,7 @@ rm -f confcache
echo $ac_n "checking make""... $ac_c" 1>&6
echo "configure:2060: checking make" >&5
echo "configure:2098: checking make" >&5
if test "`${MAKE-make} --version -f /dev/null 2>/dev/null |\
sed -n 1p|cut -c1-8`" = "GNU Make"; then
@@ -2073,7 +2111,7 @@ fi
if test -z "$DEPEND"; then
echo $ac_n "checking how to include a makefile""... $ac_c" 1>&6
echo "configure:2077: checking how to include a makefile" >&5
echo "configure:2115: checking how to include a makefile" >&5
cat >makeinc <<EOF
foo:
@@ -2309,6 +2347,7 @@ s%@RANLIB@%$RANLIB%g
s%@CC@%$CC%g
s%@LN_S@%$LN_S%g
s%@LIBTOOL@%$LIBTOOL%g
s%@PERL@%$PERL%g
s%@AR@%$AR%g
s%@LT_STATIC_EXEC@%$LT_STATIC_EXEC%g
/@DEPEND@/r $DEPEND

View File

@@ -1,8 +1,8 @@
dnl ----------------------------------------------------------------------
dnl Process this file with autoconf to produce configure.
dnl
dnl Copyright (C) 2000 National Center for Supercomputing Applications.
dnl All rights reserved.
dnl Copyright (C) 2000-2001 National Center for Supercomputing Applications
dnl All rights reserved.
dnl ----------------------------------------------------------------------
dnl ----------------------------------------------------------------------
@@ -10,7 +10,7 @@ dnl Initialize configure.
dnl
AC_REVISION($Id$)
AC_INIT(src/H5Library.cpp)
AC_CONFIG_AUX_DIR(bin)
AC_CONFIG_AUX_DIR(../bin)
AC_CANONICAL_HOST
AC_SUBST(CPPFLAGS)
@@ -122,8 +122,21 @@ AC_PROG_MAKE_SET
AC_PROG_INSTALL
AM_PROG_LIBTOOL
dnl ----------------------------------------------------------------------
dnl Check if they have Perl installed on their system. We only need Perl
dnl if they're using a GNU compiler.
dnl
AC_SUBST(PERL) PERL=""
if test "X$GCC" = "Xyes"; then
AC_CHECK_PROGS(PERL, perl,, $PATH)
fi
dnl ----------------------------------------------------------------------
dnl Check which archiving tool to use. This needs to be done before
dnl the AM_PROG_LIBTOOL macro.
dnl
if test -z "$AR"; then
AC_CHECK_PROGS(AR,ar xar,:,$PATH)
AC_CHECK_PROGS(AR,ar xar,:,$PATH)
fi
AC_SUBST(AR)

View File

@@ -0,0 +1,3 @@
## This file is machine generated on GNU systems.
## Only temporary changes may be made here.

Binary file not shown.

View File

@@ -1,7 +1,7 @@
## HDF5-C++ examples/Makefile(.in)
##
## Copyright (C) 2000 National Center for Supercomputing Applications.
## All rights reserved.
## Copyright (C) 2000-2001 National Center for Supercomputing Applications.
## All rights reserved.
##
##
top_srcdir=@top_srcdir@/..
@@ -27,16 +27,16 @@ TEST_OBJ=$(TEST_SRC:.cpp=.lo)
## These are the programs that `make all' or `make tests' will build and which
## `make check' will run. List them in the order they should be run.
PROGS=$(TEST_SRC:.cpp=)
TEST_PROGS=$(TEST_SRC:.cpp=)
TEST_SCRIPTS=$(srcdir)/testexamples.sh
##TEST_SCRIPTS=$(srcdir)/testexamples.sh
## These are the files that `make clean' (and derivatives) will remove from
## this directory.
CLEAN=
## How to build the programs... they all depend on the Fortran & C hdf5 libraries
$(PROGS): $(LIB) $(LIBHDF5)
$(TEST_PROGS): $(LIB) $(LIBHDF5)
compound: compound.lo
@$(LT_LINK_EXE) $(CXXFLAGS) -o $@ compound.lo $(LDFLAGS) $(LIB) $(LIBS) $(LIBHDF5)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,3 @@
## This file is machine generated on GNU systems.
## Only temporary changes may be made here.

View File

@@ -37,7 +37,8 @@ H5T_class_t AbstractDs::getTypeClass() const
return( type_class );
else
{
throw DataTypeIException();
throw DataTypeIException("AbstractDs::getTypeClass",
"H5Tget_class returns something different than H5T_NO_CLASS");
}
}

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
// Class AbstractDs is an abstract base class, from which Attribute and
// DataSet inherit. It provides the services that are common to both
// Attribute and DataSet. It also inherits from H5Object and passes down
@@ -9,7 +10,7 @@
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
class AbstractDs : public H5Object {
class __DLLCPP__ AbstractDs : public H5Object {
public:
// Gets the dataspace of this abstract dataset - pure virtual
virtual DataSpace getSpace() const = 0;

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
// This header file simply serves as a container to hold the
// header files of all datatypes. It simplifies the header
// file including in the code.

View File

@@ -29,7 +29,7 @@ void AtomType::setSize( size_t size ) const
herr_t ret_value = H5Tset_size( id, size );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("AtomType::setSize", "H5Tset_size failed");
}
}
@@ -42,7 +42,8 @@ H5T_order_t AtomType::getOrder( string& order_string ) const
// return a byte order constant if successful
if( type_order == H5T_ORDER_ERROR )
{
throw DataTypeIException();
throw DataTypeIException("AtomType::getOrder",
"H5Tget_order returns H5T_ORDER_ERROR");
}
if( type_order == H5T_ORDER_LE )
order_string = "Little endian byte ordering (0)";
@@ -60,7 +61,7 @@ void AtomType::setOrder( H5T_order_t order ) const
herr_t ret_value = H5Tset_order( id, order );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("AtomType::setOrder", "H5Tset_order failed");
}
}
@@ -72,7 +73,8 @@ size_t AtomType::getPrecision() const
// returns number of significant bits if successful
if( num_signi_bits == 0 )
{
throw DataTypeIException();
throw DataTypeIException("AtomType::getPrecision",
"H5Tget_precision returns invalid number of significant bits");
}
return( num_signi_bits );
}
@@ -84,7 +86,7 @@ void AtomType::setPrecision( size_t precision ) const
herr_t ret_value = H5Tset_precision( id, precision );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("AtomType::setPrecision", "H5Tset_precision failed");
}
}
@@ -99,7 +101,8 @@ int AtomType::getOffset() const
// returns a non-negative offset value if successful
if( offset == -1 )
{
throw DataTypeIException();
throw DataTypeIException("AtomType::getOffset",
"H5Tget_offset returns a negative offset value");
}
return( offset );
}
@@ -111,7 +114,7 @@ void AtomType::setOffset( size_t offset ) const
herr_t ret_value = H5Tset_offset( id, offset );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("AtomType::setOffset", "H5Tset_offset failed");
}
}
@@ -123,7 +126,7 @@ void AtomType::setOffset( size_t offset ) const
//herr_t ret_value = H5Tget_pad( id, &lsb, &msb );
//if( ret_value < 0 )
//{
//throw DataTypeIException();
//throw DataTypeIException("AtomType::getPad", "H5Tget_pad failed");
//}
//}
@@ -134,7 +137,7 @@ void AtomType::setOffset( size_t offset ) const
//herr_t ret_value = H5Tset_pad( id, lsb, msb );
//if( ret_value < 0 )
//{
//throw DataTypeIException();
//throw DataTypeIException("AtomType::setPad", "H5Tset_pad failed");
//}
//}

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
// Class AtomType is a base class, from which IntType, FloatType, StrType,
// and PredType inherit. It provides the services that are common to these
// subclasses. It also inherits from DataType and passes down the
@@ -9,7 +10,7 @@
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
class AtomType : public DataType {
class __DLLCPP__ AtomType : public DataType {
public:
// Sets the total size for an atomic datatype.
void setSize( size_t size ) const;

View File

@@ -24,12 +24,12 @@ Attribute::Attribute( const Attribute& original ) : AbstractDs( original ) {}
Attribute::Attribute( const hid_t attr_id ) : AbstractDs( attr_id ) {}
// Writes data to this attribute.
void Attribute::write( const DataType& mem_type, void *buf ) const
void Attribute::write( const DataType& mem_type, const void *buf ) const
{
herr_t ret_value = H5Awrite( id, mem_type.getId(), buf );
if( ret_value < 0 )
{
throw AttributeIException();
throw AttributeIException("Attribute::write", "H5Awrite failed");
}
}
@@ -39,7 +39,7 @@ void Attribute::read( const DataType& mem_type, void *buf ) const
herr_t ret_value = H5Aread( id, mem_type.getId(), buf );
if( ret_value < 0 )
{
throw AttributeIException();
throw AttributeIException("Attribute::read", "H5Aread failed");
}
}
@@ -57,7 +57,7 @@ DataSpace Attribute::getSpace() const
}
else
{
throw AttributeIException();
throw AttributeIException("Attribute::getSpace", "H5Aget_space failed");
}
}
@@ -72,27 +72,36 @@ hid_t Attribute::p_getType() const
return( type_id );
else
{
throw AttributeIException();
throw AttributeIException(NULL, "H5Aget_type failed");
}
}
// Gets the name of this attribute.
string Attribute::getName( size_t buf_size ) const
// Gets the name of this attribute, returning its length.
ssize_t Attribute::getName( size_t buf_size, string& attr_name ) const
{
char* name_C = new char[buf_size+1]; // temporary C-string for C API
// Calls C routine H5Aget_name to get the name of the attribute
herr_t name_size = H5Aget_name( id, buf_size, name_C );
ssize_t name_size = H5Aget_name( id, buf_size, name_C );
// If H5Aget_name returns a negative value, raise an exception,
if( name_size < 0 )
{
throw AttributeIException();
throw AttributeIException("Attribute::getName", "H5Aget_name failed");
}
// otherwise, create the string to hold the attribute name and return it
string name = string( name_C );
// otherwise, convert the C string attribute name and return
attr_name = string( name_C );
delete name_C;
return( name );
return( name_size );
}
// Gets the name of this attribute, returning the name, not the length.
string Attribute::getName( size_t buf_size ) const
{
string attr_name;
ssize_t name_size = getName( buf_size, attr_name );
return( attr_name );
// let caller catch exception if any
}
// This private function calls the C API H5Aclose to close this attribute.
@@ -102,7 +111,7 @@ void Attribute::p_close() const
herr_t ret_value = H5Aclose( id );
if( ret_value < 0 )
{
throw AttributeIException();
throw AttributeIException(NULL, "H5Aclose failed");
}
}
@@ -114,7 +123,11 @@ void Attribute::p_close() const
Attribute::~Attribute()
{
// The attribute id will be closed properly
resetIdComponent( this );
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw AttributeIException("Attribute::~Attribute", close_error.getDetailMsg());
}
}
#ifndef H5_NO_NAMESPACE

View File

@@ -1,14 +1,15 @@
#ifndef _H5Attribute_H
#define _H5Attribute_H
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef H5Attribute_H_
#define H5Attribute_H_
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
class Attribute : public AbstractDs {
class __DLLCPP__ Attribute : public AbstractDs {
public:
// Writes data to this attribute.
void write(const DataType& mem_type, void *buf ) const;
void write(const DataType& mem_type, const void *buf ) const;
// Reads data from this attribute.
void read( const DataType& mem_type, void *buf ) const;
@@ -17,7 +18,8 @@ class Attribute : public AbstractDs {
virtual DataSpace getSpace() const;
// Gets the name of this attribute.
string getName( size_t buf_size ) const;
ssize_t getName( size_t buf_size, string& attr_name ) const;
string getName( size_t buf_size ) const; // returns name, not its length
// do not inherit iterateAttrs from H5Object
int iterateAttrs() { return 0; }

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5Classes_H
#define _H5Classes_H

View File

@@ -47,17 +47,15 @@ Group CommonFG::createGroup( const char* name, size_t size_hint ) const
// location id which can be a file id or a group id
hid_t group_id = H5Gcreate( getLocId(), name, size_hint );
// If the group id is valid, create and return the Group object
if( group_id > 0 )
// If the creation of the group failed, throw an exception
if( group_id <= 0 )
{
Group group( group_id );
return( group );
}
else
{
//throw File_GroupException();
throwException();
throwException("createGroup", "H5Gcreate failed");
}
// No failure, create and return the Group object
Group group( group_id );
return( group );
}
// Opens an existing group in a location which can be a file or another group
@@ -71,17 +69,15 @@ Group CommonFG::openGroup( const char* name ) const
// location id which can be a file id or a group id
hid_t group_id = H5Gopen( getLocId(), name );
// If the group id is valid, create and return the Group object
if( group_id > 0 )
// If the opening of the group failed, throw an exception
if( group_id <= 0 )
{
Group group( group_id );
return( group );
}
else
{
//throw File_GroupException();
throwException();
throwException("openGroup", "H5Gopen failed");
}
// No failure, create and return the Group object
Group group( group_id );
return( group );
}
// Creates a new dataset at this location.
@@ -99,17 +95,15 @@ DataSet CommonFG::createDataSet( const char* name, const DataType& data_type, co
// Call C routine H5Dcreate to create the named dataset
hid_t dataset_id = H5Dcreate( getLocId(), name, type_id, space_id, create_plist_id );
// If the dataset id is valid, create and return the DataSet object
if( dataset_id > 0 )
// If the creation of the dataset failed, throw an exception
if( dataset_id <= 0 )
{
DataSet dataset( dataset_id );
return( dataset );
}
else
{
//throw File_GroupException();
throwException();
throwException("createDataSet", "H5Dcreate failed");
}
// No failure, create and return the DataSet object
DataSet dataset( dataset_id );
return( dataset );
}
// Opens an existing dataset at this location.
@@ -123,17 +117,15 @@ DataSet CommonFG::openDataSet( const char* name ) const
// the location id and the dataset's name
hid_t dataset_id = H5Dopen( getLocId(), name );
// If the dataset id is valid, create and return the DataSet object
if( dataset_id > 0 )
// If the dataset's opening failed, throw an exception
if( dataset_id <= 0 )
{
DataSet dataset( dataset_id );
return( dataset );
}
else
{
//throw File_GroupException();
throwException();
throwException("openDataSet", "H5Dopen failed");
}
// No failure, create and return the DataSet object
DataSet dataset( dataset_id );
return( dataset );
}
// Creates a link of the specified type from new_name to current_name;
@@ -147,8 +139,7 @@ void CommonFG::link( H5G_link_t link_type, const char* curr_name, const char* ne
herr_t ret_value = H5Glink( getLocId(), link_type, curr_name, new_name );
if( ret_value < 0 )
{
//throw File_GroupException();
throwException();
throwException("link", "H5Glink failed");
}
}
@@ -162,8 +153,7 @@ void CommonFG::unlink( const char* name ) const
herr_t ret_value = H5Gunlink( getLocId(), name );
if( ret_value < 0 )
{
//throw File_GroupException();
throwException();
throwException("unlink", "H5Gunlink failed");
}
}
@@ -177,8 +167,7 @@ void CommonFG::move( const char* src, const char* dst ) const
herr_t ret_value = H5Gmove( getLocId(), src, dst );
if( ret_value < 0 )
{
//throw File_GroupException();
throwException();
throwException("move", "H5Gmove failed");
}
}
@@ -192,8 +181,7 @@ void CommonFG::getObjinfo( const char* name, hbool_t follow_link, H5G_stat_t& st
herr_t ret_value = H5Gget_objinfo( getLocId(), name, follow_link, &statbuf );
if( ret_value < 0 )
{
//throw File_GroupException();
throwException();
throwException("getObjinfo", "H5Gget_objinfo failed");
}
}
@@ -209,8 +197,7 @@ string CommonFG::getLinkval( const char* name, size_t size ) const
herr_t ret_value = H5Gget_linkval( getLocId(), name, size, value_C );
if( ret_value < 0 )
{
//throw File_GroupException();
throwException();
throwException("getLinkval", "H5Gget_linkval failed");
}
string value = string( value_C );
delete value_C;
@@ -227,8 +214,7 @@ void CommonFG::setComment( const char* name, const char* comment ) const
herr_t ret_value = H5Gset_comment( getLocId(), name, comment );
if( ret_value < 0 )
{
//throw File_GroupException();
throwException();
throwException("setComment", "H5Gset_comment failed");
}
}
@@ -247,8 +233,7 @@ string CommonFG::getComment( const char* name, size_t bufsize ) const
// if H5Gget_comment returns SUCCEED, return the string comment
if( ret_value < 0 )
{
//throw File_GroupException();
throwException();
throwException("getComment", "H5Gget_comment failed");
}
string comment = string( comment_C );
delete comment_C;
@@ -272,8 +257,7 @@ void CommonFG::mount( const char* name, H5File& child, PropList& plist ) const
// Raise exception if H5Fmount returns negative value
if( ret_value < 0 )
{
//throw File_GroupException();
throwException();
throwException("mount", "H5Fmount failed");
}
}
@@ -290,8 +274,7 @@ void CommonFG::unmount( const char* name ) const
// Raise exception if H5Funmount returns negative value
if( ret_value < 0 )
{
//throw File_GroupException();
throwException();
throwException("unmount", "H5Funmount failed");
}
}
@@ -301,17 +284,17 @@ void CommonFG::unmount( const char* name ) const
hid_t CommonFG::p_openDataType( const char* name ) const
{
// Call C function H5Topen to open the named datatype in this group,
// giving the group id
// giving either the file or group id
hid_t datatype_id = H5Topen( getLocId(), name );
// If the datatype id is valid, return it, otherwise, throw an exception.
if( datatype_id > 0 )
return( datatype_id );
else
// If the datatype's opening failed, throw an exception
if( datatype_id <= 0 )
{
//throw GroupIException();
throwException();
throwException("openDataType", "H5Topen failed");
}
// No failure, return the datatype id
return( datatype_id );
}
//
@@ -393,12 +376,11 @@ int CommonFG::iterateElems( const string& name, int *idx, H5G_iterate_t op , voi
int CommonFG::iterateElems( const char* name, int *idx, H5G_iterate_t op , void* op_data )
{
int ret_value = H5Giterate( getLocId(), name, idx, op, op_data );
if( ret_value >= 0 )
return( ret_value );
else // raise exception when H5Aiterate returns a negative value
if( ret_value < 0 )
{
throwException();
throwException("iterateElems", "H5Giterate failed");
}
return( ret_value );
}
CommonFG::CommonFG()

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
// CommonFG is a protocol class. Its existence is simply to provide the
// common services that are provided by H5File and Group. The file or
// group in the context of this class is referred to as 'location'.
@@ -11,7 +12,7 @@ namespace H5 {
class Group;
class H5File;
class CommonFG {
class __DLLCPP__ CommonFG {
public:
// Creates a new group at this location which can be a file or another group.
Group createGroup( const string& name, size_t size_hint = 0 ) const;
@@ -101,7 +102,7 @@ class CommonFG {
StrType openStrType( const char* name ) const;
// for H5File and Group to throw appropriate exception
virtual void throwException() const = 0;
virtual void throwException(const string& func_name, const string& msg) const = 0;
CommonFG();
virtual ~CommonFG();

View File

@@ -11,6 +11,7 @@
#include "H5DxferProp.h"
#include "H5DataSpace.h"
#include "H5DataSet.h"
#include "H5private.h"
#ifndef H5_NO_NAMESPACE
namespace H5 {
@@ -37,7 +38,7 @@ CompType::CompType( const DataSet& dataset ) : DataType()
// If the datatype id is invalid, throw exception
if( id <= 0 )
{
throw DataSetIException();
throw DataSetIException("CompType constructor", "H5Dget_type failed");
}
}
@@ -47,7 +48,8 @@ int CompType::getNmembers() const
int num_members = H5Tget_nmembers( id );
if( num_members < 0 )
{
throw DataTypeIException();
throw DataTypeIException("CompType::getNmembers",
"H5Tget_nmembers returns negative number of members");
}
return( num_members );
}
@@ -55,13 +57,15 @@ int CompType::getNmembers() const
// Retrieves the name of a member of this compound datatype.
string CompType::getMemberName( int member_num ) const
{
char* member_name_C = H5Tget_member_name( id, member_num );
if( member_name_C == NULL ) // should this be returned also???
{
throw DataTypeIException();
}
string member_name = string( member_name_C );
return( member_name );
char* member_name_C = H5Tget_member_name( id, member_num );
if( member_name_C == NULL ) // NULL means failure
{
throw DataTypeIException("CompType::getMemberName",
"H5Tget_member_name returns NULL for member name");
}
string member_name = string(member_name_C); // convert C string to string
HDfree(member_name_C); // free the C string
return( member_name ); // return the member name string
}
// Retrieves the offset of a member of a compound datatype.
@@ -71,7 +75,8 @@ size_t CompType::getMemberOffset( int member_num ) const
// Q. said: for now, 0 is not a failure
//if( offset == 0 )
//{
//throw DataTypeIException();
//throw DataTypeIException("CompType::getMemberOffset",
//"H5Tget_member_offset failed");
//}
return( offset );
}
@@ -80,7 +85,8 @@ size_t CompType::getMemberOffset( int member_num ) const
int CompType::getMemberDims( int member_num, size_t* dims, int* perm ) const
{
throw DataTypeIException( "Error: getMemberDims is no longer supported." );
return (-1);
return (-1); // unreachable statement; but without it, the compiler
// will complain
}
// Gets the type class of the specified member.
@@ -90,29 +96,35 @@ H5T_class_t CompType::getMemberClass( int member_num ) const
hid_t member_type_id = H5Tget_member_type( id, member_num );
if( member_type_id <= 0 )
{
throw DataTypeIException();
throw DataTypeIException("CompType::getMemberClass",
"H5Tget_member_type failed");
}
// then get its class
H5T_class_t member_class = H5Tget_class( member_type_id );
if( member_class == H5T_NO_CLASS )
{
throw DataTypeIException();
throw DataTypeIException("CompType::getMemberClass",
"H5Tget_class returns H5T_NO_CLASS");
}
return( member_class );
}
// This private member function calls the C API to get the identifier
// of the specified member. It is used by the getMemberXxxType
// below for the sub-types.
// of the specified member. It provides the id to construct appropriate
// sub-types in the functions getMemberXxxType below, where Xxx indicates
// the sub-types.
hid_t CompType::p_getMemberType( int member_num ) const
{
// get the id of the specified member first
hid_t member_type_id = H5Tget_member_type( id, member_num );
if( member_type_id > 0 )
return( member_type_id );
else
{
throw DataTypeIException();
// p_getMemberType is private, use caller's function name for api
throw DataTypeIException("CompType::getMemberDataType",
"H5Tget_member_type failed");
}
}
@@ -155,6 +167,7 @@ StrType CompType::getMemberStrType( int member_num ) const
/* old style of getMemberType - using overloads; new style above
returns the appropriate datatypes but has different named functions.
In the old style, a datatype must be passed into the function.
// Returns the datatype of the specified member in this compound datatype.
// Several overloading of getMemberType are for different datatypes
void CompType::getMemberType( int member_num, EnumType& enumtype ) const
@@ -185,7 +198,7 @@ void CompType::getMemberType( int member_num, StrType& strtype ) const
*/
// Adds a new member to a compound datatype
void CompType::insertMember( const string name, size_t offset, const DataType& new_member ) const
void CompType::insertMember( const string& name, size_t offset, const DataType& new_member ) const
{
// Convert string to C-string
const char* name_C;
@@ -197,7 +210,7 @@ void CompType::insertMember( const string name, size_t offset, const DataType& n
herr_t ret_value = H5Tinsert( id, name_C, offset, new_member_id );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("CompType::insertMember", "H5Tinsert failed");
}
}
@@ -208,7 +221,7 @@ void CompType::pack() const
herr_t ret_value = H5Tpack( id );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("CompType::pack", "H5Tpack failed");
}
}

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
// Class CompType inherits from DataType and provides accesses to a compound
// datatype.
@@ -8,7 +9,7 @@
namespace H5 {
#endif
class CompType : public DataType {
class __DLLCPP__ CompType : public DataType {
public:
// Creates a new compound datatype, given the type's size
CompType( size_t size ); // H5Tcreate
@@ -58,7 +59,7 @@ class CompType : public DataType {
StrType getMemberStrType( int member_num ) const;
// Adds a new member to this compound datatype.
void insertMember( const string name, size_t offset, const DataType& new_member ) const;
void insertMember( const string& name, size_t offset, const DataType& new_member ) const;
// Recursively removes padding from within this compound datatype.
void pack() const;

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5CPP_H
#define _H5CPP_H

View File

@@ -38,7 +38,7 @@ DataSpace DataSet::getSpace() const
// If the dataspace id is invalid, throw an exception
if( dataspace_id <= 0 )
{
throw DataSetIException();
throw DataSetIException("DataSet::getSpace", "H5Dget_space failed");
}
//create dataspace object using the existing id then return the object
DataSpace data_space( dataspace_id );
@@ -55,7 +55,7 @@ hid_t DataSet::p_getType() const
return( type_id );
else
{
throw DataSetIException();
throw DataSetIException(NULL, "H5Dget_type failed");
}
}
@@ -65,7 +65,7 @@ DSetCreatPropList DataSet::getCreatePlist() const
hid_t create_plist_id = H5Dget_create_plist( id );
if( create_plist_id <= 0 )
{
throw DataSetIException();
throw DataSetIException("DataSet::getCreatePlist", "H5Dget_create_plist failed");
}
// create and return the DSetCreatPropList object
DSetCreatPropList create_plist( create_plist_id );
@@ -77,47 +77,46 @@ hsize_t DataSet::getStorageSize() const
{
hsize_t storage_size = H5Dget_storage_size( id );
if( storage_size > 0 )
if( storage_size > 0 ) // checking with Quincey for failure value - BMR
return( storage_size );
else
{
throw DataSetIException();
throw DataSetIException("DataSet::getStorageSize", "H5Dget_storage_size failed");
}
}
// Returns the number of bytes required to store VL data.
hsize_t DataSet::getVlenBufSize( DataType& type, DataSpace& space ) const
{
//herr_t ret_value;
// Obtain identifiers for C API
//hid_t type_id = type.getId();
//hid_t space_id = space.getId();
//hsize_t size;
throw DataSetIException( "getVlenBufSize: Currently not implemented yet.");
//ret_value = H5Dget_vlen_buf_size( id, type_id, space_id, &size );
//herr_t ret_value = H5Dget_vlen_buf_size( id, type_id, space_id, &size );
//if( ret_value >= 0 )
// return( size );
//else
//{
//throw DataSetIException();
//}
throw DataSetIException( "DataSet::getVlenBufSize",
"Currently not implemented yet.");
return (0);
}
// Reclaims VL datatype memory buffers.
void DataSet::vlenReclaim( DataType& type, DataSpace& space, DSetMemXferPropList& xfer_plist, void* buf ) const
{
herr_t ret_value;
// Obtain identifiers for C API
hid_t type_id = type.getId();
hid_t space_id = space.getId();
hid_t xfer_plist_id = xfer_plist.getId();
ret_value = H5Dvlen_reclaim( type_id, space_id, xfer_plist_id, buf );
herr_t ret_value = H5Dvlen_reclaim( type_id, space_id, xfer_plist_id, buf );
if( ret_value < 0 )
{
throw DataSetIException();
throw DataSetIException("DataSet::vlenReclaim", "H5Dvlen_reclaim failed");
}
}
@@ -134,7 +133,7 @@ void DataSet::read( void* buf, const DataType& mem_type, const DataSpace& mem_sp
herr_t ret_value = H5Dread( id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, buf );
if( ret_value < 0 )
{
throw DataSetIException();
throw DataSetIException("DataSet::read", "H5Dread failed");
}
}
@@ -152,7 +151,7 @@ void DataSet::write( const void* buf, const DataType& mem_type, const DataSpace&
herr_t ret_value = H5Dwrite( id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, buf );
if( ret_value < 0 )
{
throw DataSetIException();
throw DataSetIException("DataSet::write", "H5Dwrite failed");
}
}
@@ -167,7 +166,7 @@ int DataSet::iterateElems( void* buf, const DataType& type, const DataSpace& spa
return( ret_value );
else // raise exception when H5Diterate returns a negative value
{
throw DataSetIException();
throw DataSetIException("DataSet::iterateElems", "H5Diterate failed");
}
}
@@ -177,7 +176,7 @@ void DataSet::extend( const hsize_t* size ) const
herr_t ret_value = H5Dextend( id, size );
if( ret_value < 0 ) // raise exception when H5Dextend returns a neg value
{
throw DataSetIException();
throw DataSetIException("DataSet::extend", "H5Dextend failed");
}
}
@@ -188,7 +187,7 @@ void DataSet::p_close() const
herr_t ret_value = H5Dclose( id );
if( ret_value < 0 )
{
throw DataSetIException();
throw DataSetIException(NULL, "H5Dclose failed");
}
}
@@ -200,7 +199,11 @@ void DataSet::p_close() const
DataSet::~DataSet()
{
// The dataset id will be closed properly
resetIdComponent( this );
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw DataSetIException("DataSet::~DataSet", close_error.getDetailMsg());
}
}
#ifndef H5_NO_NAMESPACE

View File

@@ -1,4 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
// Class DataSet inherits from AbstractDs and provides accesses to a dataset.
#ifndef _H5DataSet_H
@@ -8,7 +8,7 @@
namespace H5 {
#endif
class DataSet : public AbstractDs {
class __DLLCPP__ DataSet : public AbstractDs {
public:
// Gets the dataspace of this dataset.
virtual DataSpace getSpace() const;

View File

@@ -22,7 +22,7 @@ DataSpace::DataSpace( H5S_class_t type ) : IdComponent()
id = H5Screate( type );
if( id <= 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace constructor", "H5Screate failed");
}
}
@@ -32,7 +32,7 @@ DataSpace::DataSpace( int rank, const hsize_t * dims, const hsize_t * maxdims) :
id = H5Screate_simple( rank, dims, maxdims );
if( id <= 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace constructor", "H5Screate_simple failed");
}
}
@@ -50,20 +50,32 @@ void DataSpace::copy( const DataSpace& like_space )
{
// reset the identifier of this instance - send 'this' in so that
// H5Sclose can be called appropriately
resetIdComponent( this );
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw DataSpaceIException("DataSpace::copy", close_error.getDetailMsg());
}
// call C routine to copy the dataspace
id = H5Scopy( like_space.getId() );
// points to the same ref counter
// new ref counter for this id
ref_count = new RefCounter;
if( id <= 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::copy", "H5Scopy failed");
}
}
// Makes a copy of the dataspace on the right hand side and stores
// the new id in the left hand side object.
DataSpace& DataSpace::operator=( const DataSpace& rhs )
{
copy(rhs);
return(*this);
}
// Determines whether this dataspace is a simple dataspace.
bool DataSpace::isSimple () const
{
@@ -74,7 +86,8 @@ bool DataSpace::isSimple () const
return false;
else
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::isSimple",
"H5Sis_simple returns negative value");
}
}
@@ -84,7 +97,7 @@ void DataSpace::offsetSimple ( const hssize_t* offset ) const
herr_t ret_value = H5Soffset_simple( id, offset );
if( ret_value < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::offsetSimple", "H5Soffset_simple failed");
}
}
@@ -94,7 +107,8 @@ int DataSpace::getSimpleExtentDims ( hsize_t *dims, hsize_t *maxdims ) const
int ndims = H5Sget_simple_extent_dims( id, dims, maxdims );
if( ndims < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::getSimpleExtentDims",
"H5Sget_simple_extent_dims returns negative number of dimensions");
}
return( ndims );
}
@@ -105,7 +119,8 @@ int DataSpace::getSimpleExtentNdims () const
int ndims = H5Sget_simple_extent_ndims( id );
if( ndims < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::getSimpleExtentNdims",
"H5Sget_simple_extent_ndims returns negative value for dimensionality of the dataspace");
}
return( ndims );
}
@@ -122,7 +137,8 @@ hssize_t DataSpace::getSimpleExtentNpoints () const
return( num_elements );
else
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::getSimpleExtentNpoints",
"H5Sget_simple_extent_npoints returns negative value for the number of elements in the dataspace");
}
}
@@ -132,7 +148,8 @@ H5S_class_t DataSpace::getSimpleExtentType () const
H5S_class_t class_name = H5Sget_simple_extent_type( id );
if( class_name == H5S_NO_CLASS )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::getSimpleExtentType",
"H5Sget_simple_extent_type returns H5S_NO_CLASS");
}
return( class_name );
}
@@ -144,7 +161,7 @@ void DataSpace::extentCopy ( DataSpace& dest_space ) const
herr_t ret_value = H5Sextent_copy( dest_space_id, id );
if( ret_value < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::extentCopy", "H5Sextent_copy failed");
}
}
@@ -155,7 +172,7 @@ void DataSpace::setExtentSimple( int rank, const hsize_t *current_size, const hs
ret_value = H5Sset_extent_simple( id, rank, current_size, maximum_size );
if( ret_value < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::setExtentSimple", "H5Sset_extent_simple failed");
}
}
@@ -165,7 +182,7 @@ void DataSpace::setExtentNone () const
herr_t ret_value = H5Sset_extent_none( id );
if( ret_value < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::setExtentNone", "H5Sset_extent_none failed");
}
}
@@ -175,7 +192,8 @@ hssize_t DataSpace::getSelectNpoints () const
hssize_t num_elements = H5Sget_select_npoints( id );
if( num_elements < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::getSelectNpoints",
"H5Sget_select_npoints returns negative value for number of elements in the dataspace selection");
}
return( num_elements );
}
@@ -186,7 +204,8 @@ hssize_t DataSpace::getSelectHyperNblocks () const
hssize_t num_blocks = H5Sget_select_hyper_nblocks( id );
if( num_blocks < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::getSelectHyperNblocks",
"H5Sget_select_hyper_nblocks returns negative value for the number of hyperslab blocks");
}
return( num_blocks );
}
@@ -198,7 +217,8 @@ void DataSpace::getSelectHyperBlocklist( hsize_t startblock, hsize_t numblocks,
ret_value = H5Sget_select_hyper_blocklist( id, startblock, numblocks, buf );
if( ret_value < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::getSelectHyperBlocklist",
"H5Sget_select_hyper_blocklist failed");
}
}
@@ -208,7 +228,8 @@ hssize_t DataSpace::getSelectElemNpoints () const
hssize_t num_points = H5Sget_select_elem_npoints( id );
if( num_points < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::getSelectElemNpoints",
"H5Sget_select_elem_npoints failed");
}
return( num_points );
}
@@ -220,7 +241,8 @@ void DataSpace::getSelectElemPointlist ( hsize_t startpoint, hsize_t numpoints,
ret_value = H5Sget_select_elem_pointlist( id, startpoint, numpoints, buf );
if( ret_value < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::getSelectElemPointlist",
"H5Sget_select_elem_pointlist failed");
}
}
@@ -230,7 +252,8 @@ void DataSpace::getSelectBounds ( hsize_t* start, hsize_t* end ) const
herr_t ret_value = H5Sget_select_bounds( id, start, end );
if( ret_value < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::getSelectBounds",
"H5Sget_select_bounds failed");
}
}
@@ -241,7 +264,8 @@ void DataSpace::selectElements ( H5S_seloper_t op, const size_t num_elements, co
ret_value = H5Sselect_elements( id, op, num_elements, coord );
if( ret_value < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::selectElements",
"H5Sselect_elements failed");
}
}
@@ -251,7 +275,7 @@ void DataSpace::selectAll () const
herr_t ret_value = H5Sselect_all( id );
if( ret_value < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::selectAll", "H5Sselect_all failed");
}
}
@@ -261,7 +285,8 @@ void DataSpace::selectNone () const
herr_t ret_value = H5Sselect_none( id );
if( ret_value < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::selectNone",
"H5Sselect_none failed");
}
}
@@ -275,7 +300,8 @@ bool DataSpace::selectValid () const
return false;
else
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::selectValid",
"H5Sselect_valid returns negative value");
}
}
@@ -286,7 +312,8 @@ void DataSpace::selectHyperslab( H5S_seloper_t op, const hsize_t *count, const h
ret_value = H5Sselect_hyperslab( id, op, start, stride, count, block );
if( ret_value < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException("DataSpace::selectHyperslab",
"H5Sselect_hyperslab failed");
}
}
@@ -299,7 +326,7 @@ void DataSpace::p_close() const
herr_t ret_value = H5Sclose( space_id );
if( ret_value < 0 )
{
throw DataSpaceIException();
throw DataSpaceIException(NULL, "H5Sclose failed");
}
}
}
@@ -312,7 +339,11 @@ void DataSpace::p_close() const
DataSpace::~DataSpace()
{
// The dataspace id will be closed properly
resetIdComponent( this );
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw DataSpaceIException("DataSpace::~DataSpace", close_error.getDetailMsg());
}
}
#ifndef H5_NO_NAMESPACE

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5DataSpace_H
#define _H5DataSpace_H
@@ -5,7 +6,7 @@
namespace H5 {
#endif
class DataSpace : public IdComponent {
class __DLLCPP__ DataSpace : public IdComponent {
public:
// Default DataSpace objects
static const DataSpace ALL;
@@ -19,64 +20,67 @@ class DataSpace : public IdComponent {
// Makes copy of an existing dataspace.
void copy( const DataSpace& like_space ); // H5Scopy
// Assignment operator
DataSpace& operator=( const DataSpace& rhs );
// Determines if this dataspace is a simple one.
bool isSimple () const;
bool isSimple() const;
// Sets the offset of this simple dataspace.
void offsetSimple ( const hssize_t* offset ) const;
void offsetSimple( const hssize_t* offset ) const;
// Retrieves dataspace dimension size and maximum size.
int getSimpleExtentDims ( hsize_t *dims, hsize_t *maxdims = NULL ) const;
int getSimpleExtentDims( hsize_t *dims, hsize_t *maxdims = NULL ) const;
// Gets the dimensionality of this dataspace.
int getSimpleExtentNdims () const;
int getSimpleExtentNdims() const;
// Gets the number of elements in this dataspace.
// 12/05/00 - changed return type to hssize_t from hsize_t - C API
hssize_t getSimpleExtentNpoints () const;
hssize_t getSimpleExtentNpoints() const;
// Gets the current class of this dataspace.
H5S_class_t getSimpleExtentType () const;
H5S_class_t getSimpleExtentType() const;
// Copies the extent of this dataspace.
void extentCopy ( DataSpace& dest_space ) const;
void extentCopy( DataSpace& dest_space ) const;
// Sets or resets the size of this dataspace.
void setExtentSimple( int rank, const hsize_t *current_size, const hsize_t *maximum_size = NULL ) const;
// Removes the extent from this dataspace.
void setExtentNone () const;
void setExtentNone() const;
// Gets the number of elements in this dataspace selection.
hssize_t getSelectNpoints () const;
hssize_t getSelectNpoints() const;
// Get number of hyperslab blocks.
hssize_t getSelectHyperNblocks () const;
hssize_t getSelectHyperNblocks() const;
// Gets the list of hyperslab blocks currently selected.
void getSelectHyperBlocklist( hsize_t startblock, hsize_t numblocks, hsize_t *buf ) const;
// Gets the number of element points in the current selection.
hssize_t getSelectElemNpoints () const;
hssize_t getSelectElemNpoints() const;
// Retrieves the list of element points currently selected.
void getSelectElemPointlist ( hsize_t startpoint, hsize_t numpoints, hsize_t *buf ) const;
void getSelectElemPointlist( hsize_t startpoint, hsize_t numpoints, hsize_t *buf ) const;
// Gets the bounding box containing the current selection.
void getSelectBounds ( hsize_t* start, hsize_t* end ) const;
void getSelectBounds( hsize_t* start, hsize_t* end ) const;
// Selects array elements to be included in the selection for
// this dataspace.
void selectElements ( H5S_seloper_t op, const size_t num_elements, const hssize_t *coord[ ] ) const;
void selectElements( H5S_seloper_t op, const size_t num_elements, const hssize_t *coord[ ] ) const;
// Selects the entire dataspace.
void selectAll () const;
void selectAll() const;
// Resets the selection region to include no elements.
void selectNone () const;
void selectNone() const;
// Verifies that the selection is within the extent of the dataspace.
bool selectValid () const;
bool selectValid() const;
// Selects a hyperslab region to add to the current selected region.
void selectHyperslab( H5S_seloper_t op, const hsize_t *count, const hssize_t *start, const hsize_t *stride = NULL, const hsize_t *block = NULL ) const;

View File

@@ -10,6 +10,7 @@
#include "H5DataType.h"
#include "H5AtomType.h"
#include "H5PredType.h"
#include "H5private.h"
#ifndef H5_NO_NAMESPACE
namespace H5 {
@@ -29,7 +30,7 @@ DataType::DataType( const H5T_class_t type_class, size_t size ) : H5Object(), is
id = H5Tcreate( type_class, size );
if( id <= 0 )
{
throw DataTypeIException();
throw DataTypeIException("DataType constructor", "H5Tcreate failed");
}
}
@@ -49,28 +50,33 @@ void DataType::copy( const DataType& like_type )
{
// reset the identifier of this instance, H5Tclose will be called
// if needed
resetIdComponent( this );
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw DataTypeIException("DataType::copy", close_error.getDetailMsg());
}
// call C routine to copy the datatype
id = H5Tcopy( like_type.getId() );
// new reference counter for this id
ref_count = new RefCounter;
/*
id != like_type.id so this object has a different ref_count than
like_type
ref_count = like_type.ref_count;
// increment ref counter to indicate additional references to this id
ref_count->increment();
*/
if( id <= 0 )
{
throw DataTypeIException();
throw DataTypeIException("DataType::copy", "H5Tcopy failed");
}
}
// Determines whether two datatypes are the same. ???
// Makes a copy of the type on the right hand side and stores the new
// id in the left hand side object.
DataType& DataType::operator=( const DataType& rhs )
{
copy(rhs);
return(*this);
}
// Determines whether two datatypes refer to the same actual datatype.
bool DataType::operator==(const DataType& compared_type ) const
{
// Call C routine H5Tequal to determines whether two datatype
@@ -82,18 +88,20 @@ bool DataType::operator==(const DataType& compared_type ) const
return false;
else
{
throw DataTypeIException();
throw DataTypeIException("DataType::operator==",
"H5Tequal returns negative value");
}
}
// Operates a user's function on each attribute of an object - commented
// out because it should use the one from H5Object; need to check
// the parameter list???
// the parameter list??? - work in progress
//int DataType::iterate( unsigned * idx, H5A_operator_t op, void *op_data )
//{
//}
// Creates a new variable-length datatype - Note: make it inheritance???
// Creates a new variable-length datatype - Note: should use inheritance -
// work in progress
//DataType DataType::vlenCreate( const DataType& base_type )
//{
//}
@@ -111,7 +119,7 @@ void DataType::commit( H5Object& loc, const char* name ) const
herr_t ret_value = H5Tcommit( loc_id, name, id );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("DataType::commit", "H5Tcommit failed");
}
}
@@ -126,7 +134,7 @@ bool DataType::committed() const
return false;
else
{
throw DataTypeIException();
throw DataTypeIException("DataType::committed", "H5Tcommitted return negative value");
}
}
@@ -137,7 +145,7 @@ H5T_conv_t DataType::find( const DataType& dest, H5T_cdata_t **pcdata ) const
H5T_conv_t func = H5Tfind( id, dest.getId(), pcdata );
if( func == NULL )
{
throw DataTypeIException();
throw DataTypeIException("DataType::find", "H5Tfind returns a NULL function");
}
return( func );
}
@@ -154,7 +162,7 @@ void DataType::convert( const DataType& dest, size_t nelmts, void *buf, void *ba
ret_value = H5Tconvert( id, dest_id, nelmts, buf, background, plist_id );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("DataType::convert", "H5Tconvert failed");
}
}
@@ -165,7 +173,7 @@ void DataType::setOverflow( H5T_overflow_t func ) const
herr_t ret_value = H5Tset_overflow( func );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("DataType::setOverflow", "H5Tset_overflow failed");
}
}
@@ -183,7 +191,7 @@ void DataType::lock() const
herr_t ret_value = H5Tlock( id );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("DataType::lock", "H5Tlock failed");
}
}
@@ -195,7 +203,8 @@ H5T_class_t DataType::getClass() const
// Return datatype class identifier if successful
if( type_class == H5T_NO_CLASS )
{
throw DataTypeIException();
throw DataTypeIException("DataType::getClass",
"H5Tget_class returns H5T_NO_CLASS");
}
return( type_class );
}
@@ -205,9 +214,10 @@ size_t DataType::getSize() const
{
// Call C routine to get the datatype size
size_t type_size = H5Tget_size( id );
if( type_size <= 0 ) // Is 0 valid value ???
if( type_size <= 0 ) // valid data types are never zero size
{
throw DataTypeIException();
throw DataTypeIException("DataType::getSize",
"H5Tget_size returns invalid datatype size");
}
return( type_size );
}
@@ -229,7 +239,7 @@ DataType DataType::getSuper() const
}
else
{
throw DataTypeIException();
throw DataTypeIException("DataType::getSuper", "H5Tget_super failed");
}
}
@@ -246,7 +256,7 @@ void DataType::registerFunc( H5T_pers_t pers, const char* name, const DataType&
herr_t ret_value = H5Tregister( pers, name, id, dest_id, func );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("DataType::registerFunc", "H5Tregister failed");
}
}
@@ -263,7 +273,7 @@ void DataType::unregister( H5T_pers_t pers, const char* name, const DataType& de
herr_t ret_value = H5Tunregister( pers, name, id, dest_id, func );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("DataType::unregister", "H5Tunregister failed");
}
}
@@ -278,7 +288,7 @@ void DataType::setTag( const char* tag ) const
herr_t ret_value = H5Tset_tag( id, tag );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("DataType::setTag", "H5Tset_tag failed");
}
}
@@ -291,12 +301,14 @@ string DataType::getTag() const
// and return it, otherwise, raise an exception
if( tag_Cstr != NULL )
{
string tag = string( tag_Cstr );
return( tag );
string tag = string(tag_Cstr); // convert C string to string object
HDfree(tag_Cstr); // free the C string
return (tag); // return the tag
}
else
{
throw DataTypeIException();
throw DataTypeIException("DataType::getTag",
"H5Tget_tag returns NULL for tag");
}
}
@@ -310,7 +322,7 @@ void DataType::p_close() const
herr_t ret_value = H5Tclose( id );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException(NULL, "H5Tclose failed");
}
}
}
@@ -323,7 +335,11 @@ void DataType::p_close() const
DataType::~DataType()
{
// The datatype id will be closed properly
resetIdComponent( this );
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw DataTypeIException("DataType::~DataType", close_error.getDetailMsg());
}
}
#ifndef H5_NO_NAMESPACE

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5DataType_H
#define _H5DataType_H
@@ -5,7 +6,7 @@
namespace H5 {
#endif
class DataType : public H5Object {
class __DLLCPP__ DataType : public H5Object {
public:
// Creates a datatype given its class and size
DataType( const H5T_class_t type_class, size_t size );
@@ -13,10 +14,6 @@ class DataType : public H5Object {
// Copy constructor: makes a copy of the original object
DataType( const DataType& original );
// Creates a new variable-length datatype - not implemented yet
// Will be moved into a subclass when completed
//DataType vlenCreate( const DataType& base_type );
// Copies an existing datatype to this datatype object
void copy( const DataType& like_type );
@@ -45,7 +42,10 @@ class DataType : public H5Object {
// Returns a pointer to the current global overflow function.
H5T_overflow_t getOverflow(void) const;
// Determines whether two datatypes are the same. ???
// Assignment operator
DataType& operator=( const DataType& rhs );
// Determines whether two datatypes are the same.
bool operator==(const DataType& compared_type ) const;
// Locks a datatype.
@@ -73,6 +73,10 @@ class DataType : public H5Object {
// Gets the tag associated with an opaque datatype.
string getTag() const;
// Creates a new variable-length datatype - not implemented yet
// Will be moved into a subclass when completed
//DataType vlenCreate( const DataType& base_type );
// Used by the API to appropriately close a datatype
void p_close() const;

View File

@@ -24,7 +24,7 @@ void DSetCreatPropList::setChunk( int ndims, const hsize_t* dim ) const
herr_t ret_value = H5Pset_chunk( id, ndims, dim );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetCreatPropList::setChunk", "H5Pset_chunk failed");
}
}
@@ -35,7 +35,8 @@ H5D_layout_t DSetCreatPropList::getLayout() const
H5D_layout_t layout = H5Pget_layout( id );
if( layout == H5D_LAYOUT_ERROR )
{
throw PropListIException();
throw PropListIException("DSetCreatPropList::getLayout",
"H5Pget_layout returns H5D_LAYOUT_ERROR");
}
return( layout );
}
@@ -46,7 +47,8 @@ int DSetCreatPropList::getChunk( int max_ndims, hsize_t* dim ) const
int chunk_size = H5Pget_chunk( id, max_ndims, dim );
if( chunk_size < 0 )
{
throw PropListIException();
throw PropListIException("DSetCreatPropList::getChunk",
"H5Pget_chunk returns negative chunk size");
}
return( chunk_size );
}
@@ -57,7 +59,8 @@ void DSetCreatPropList::setLayout(hid_t plist, H5D_layout_t layout ) const
herr_t ret_value = H5Pset_layout( id, layout );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetCreatPropList::setLayout",
"H5Pset_layout failed");
}
}
@@ -67,7 +70,8 @@ void DSetCreatPropList::setDeflate( int level ) const
herr_t ret_value = H5Pset_deflate( id, level );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetCreatPropList::setDeflate",
"H5Pset_deflate failed");
}
}
@@ -77,7 +81,8 @@ void DSetCreatPropList::setFillValue( DataType& fvalue_type, const void* value )
herr_t ret_value = H5Pset_fill_value( id, fvalue_type.getId(), value );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetCreatPropList::setFillValue",
"H5Pset_fill_value failed");
}
}
@@ -87,7 +92,8 @@ void DSetCreatPropList::getFillValue( DataType& fvalue_type, void* value ) const
herr_t ret_value = H5Pget_fill_value( id, fvalue_type.getId(), value );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetCreatPropList::getFillValue",
"H5Pget_fill_value failed");
}
}
@@ -97,7 +103,8 @@ void DSetCreatPropList::setFilter( H5Z_filter_t filter, unsigned int flags, size
herr_t ret_value = H5Pset_filter( id, filter, flags, cd_nelmts, cd_values );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetCreatPropList::setFilter",
"H5Pset_filter failed");
}
}
@@ -107,7 +114,8 @@ int DSetCreatPropList::getNfilters() const
int num_filters = H5Pget_nfilters( id );
if( num_filters < 0 )
{
throw PropListIException();
throw PropListIException("DSetCreatPropList::getNfilters",
"H5Pget_nfilters returned negative number of filters");
}
else
return( num_filters );
@@ -117,10 +125,12 @@ int DSetCreatPropList::getNfilters() const
H5Z_filter_t DSetCreatPropList::getFilter( int filter_number, unsigned int& flags, size_t& cd_nelmts, unsigned int* cd_values, size_t namelen, char name[] ) const
{
H5Z_filter_t filter;
filter = H5Pget_filter( id, filter_number, &flags, &cd_nelmts, cd_values, namelen, name );
filter = H5Pget_filter( id, filter_number, &flags, &cd_nelmts,
cd_values, namelen, name );
if( filter == H5Z_FILTER_ERROR )
{
throw PropListIException();
throw PropListIException("DSetCreatPropList::getFilter",
"H5Pget_filter returned H5Z_FILTER_ERROR");
}
else
return( filter );
@@ -132,7 +142,8 @@ void DSetCreatPropList::setExternal( const char* name, off_t offset, hsize_t siz
herr_t ret_value = H5Pset_external( id, name, offset, size );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetCreatPropList::setExternal",
"H5Pset_external failed");
}
}
@@ -142,7 +153,8 @@ int DSetCreatPropList::getExternalCount() const
int num_ext_files = H5Pget_external_count( id );
if( num_ext_files < 0 )
{
throw PropListIException();
throw PropListIException("DSetCreatPropList::getExternalCount",
"H5Pget_external_count returns negative number of external files");
}
else
return( num_ext_files );
@@ -154,7 +166,8 @@ void DSetCreatPropList::getExternal( int idx, size_t name_size, char* name, off_
herr_t ret_value = H5Pget_external( id, idx, name_size, name, &offset, &size );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetCreatPropList::getExternal",
"H5Pget_external failed");
}
}

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5DSCreatPropList_H
#define _H5DSCreatPropList_H
@@ -5,7 +6,7 @@
namespace H5 {
#endif
class DSetCreatPropList : public PropList {
class __DLLCPP__ DSetCreatPropList : public PropList {
public:
static const DSetCreatPropList DEFAULT;

View File

@@ -25,7 +25,8 @@ void DSetMemXferPropList::setBuffer( size_t size, void* tconv, void* bkg ) const
herr_t ret_value = H5Pset_buffer( id, size, tconv, bkg );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetMemXferPropList::setBuffer",
"H5Pset_buffer failed");
}
}
@@ -35,7 +36,8 @@ size_t DSetMemXferPropList::getBuffer( void** tconv, void** bkg ) const
size_t buffer_size = H5Pget_buffer( id, tconv, bkg );
if( buffer_size == 0 )
{
throw PropListIException();
throw PropListIException("DSetMemXferPropList::getBuffer",
"H5Pget_buffer returned 0 for buffer size - failure");
}
return( buffer_size );
}
@@ -46,7 +48,8 @@ void DSetMemXferPropList::setPreserve( bool status ) const
herr_t ret_value = H5Pset_preserve( id, (hbool_t) status );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetMemXferPropList::setPreserve",
"H5Pset_preserve failed");
}
}
@@ -60,7 +63,8 @@ bool DSetMemXferPropList::getPreserve() const
return false;
else
{
throw PropListIException();
throw PropListIException("DSetMemXferPropList::getPreserve",
"H5Pget_preserve returned negative value for status");
}
}
@@ -70,7 +74,8 @@ void DSetMemXferPropList::setHyperCache( bool cache, unsigned limit ) const
herr_t ret_value = H5Pset_hyper_cache( id, cache, limit );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetMemXferPropList::setHyperCache",
"H5Pset_hyper_cache failed");
}
}
@@ -81,7 +86,8 @@ void DSetMemXferPropList::getHyperCache( bool& cache, unsigned& limit ) const
herr_t ret_value = H5Pget_hyper_cache( id, &temp_cache, &limit );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetMemXferPropList::getHyperCache",
"H5Pget_hyper_cache failed");
}
if( temp_cache > 0 )
cache = true;
@@ -95,7 +101,8 @@ void DSetMemXferPropList::setBtreeRatios( double left, double middle, double rig
herr_t ret_value = H5Pset_btree_ratios( id, left, middle, right );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetMemXferPropList::setBtreeRatios",
"H5Pset_btree_ratios failed");
}
}
@@ -105,7 +112,8 @@ void DSetMemXferPropList::getBtreeRatios( double& left, double& middle, double&
herr_t ret_value = H5Pget_btree_ratios( id, &left, &middle, &right );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetMemXferPropList::getBtreeRatios",
"H5Pget_btree_ratios failed");
}
}
@@ -116,7 +124,8 @@ void DSetMemXferPropList::setVlenMemManager( H5MM_allocate_t alloc_func, void* a
free_func, free_info );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetMemXferPropList::setVlenMemManager",
"H5Pset_vlen_mem_manager failed");
}
}
@@ -128,7 +137,8 @@ void DSetMemXferPropList::setVlenMemManager() const
//herr_t ret_value = H5Pset_vlen_mem_manager( id, NULL, NULL, NULL, NULL );
//if( ret_value < 0 )
//{
//throw PropListIException();
//throw PropListIException("DSetMemXferPropList::setVlenMemManager",
//"H5Pset_vlen_mem_manager failed");
//}
}
@@ -138,7 +148,8 @@ void DSetMemXferPropList::getVlenMemManager( H5MM_allocate_t& alloc_func, void**
herr_t ret_value = H5Pget_vlen_mem_manager( id, &alloc_func, alloc_info, &free_func, free_info );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetMemXferPropList::getVlenMemManager",
"H5Pget_vlen_mem_manager failed");
}
}
@@ -149,7 +160,8 @@ void DSetMemXferPropList::setXfer( H5D_transfer_t data_xfer_mode = H5D_XFER_INDE
herr_t ret_value = H5Pset_xfer( ... );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("DSetMemXferPropList::setXfer",
"H5Pset_xfer failed");
}
}
@@ -158,10 +170,12 @@ void DSetMemXferPropList::setXfer( H5D_transfer_t data_xfer_mode = H5D_XFER_INDE
H5D_transfer_t DSetMemXferPropList::getXfer() const
{
H5D_transfer_t xfer = H5Pget_xfer( id );
// remove when done - find out what the value is for ??
// BMR - need to find out what the value is for ?? when this function
// is supported
if( xfer == ?? )
{
throw PropListIException();
throw PropListIException("DSetMemXferPropList::getXfer",
"H5Pget_xfer failed");
}
return( xfer );
}

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5DSetMemXferPropList_H
#define _H5DSetMemXferPropList_H
@@ -5,7 +6,7 @@
namespace H5 {
#endif
class DSetMemXferPropList : public PropList {
class __DLLCPP__ DSetMemXferPropList : public PropList {
public:
static const DSetMemXferPropList DEFAULT;

View File

@@ -41,7 +41,7 @@ EnumType::EnumType( const DataSet& dataset ) : DataType()
// If the datatype id is not valid, throw an exception
if( id <= 0 )
{
throw DataSetIException("Getting datatype fails...");
throw DataSetIException("EnumType constructor", "H5Dget_type failed");
}
}
@@ -54,7 +54,7 @@ EnumType::EnumType( const IntType& data_type ) : DataType()
// If the datatype id is not valid, throw an exception
if( id <= 0 )
{
throw DataSetIException("Creating enumeration datatype fails...");
throw DataSetIException("EnumType constructor", "H5Tenum_create failed");
}
}
@@ -69,7 +69,7 @@ void EnumType::insert( const char* name, void *value ) const
herr_t ret_value = H5Tenum_insert( id, name, value );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("EnumType::insert", "H5Tenum_insert failed");
}
}
@@ -84,7 +84,7 @@ string EnumType::nameOf( void *value, size_t size ) const
// If H5Tenum_nameof returns a negative value, raise an exception,
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("EnumType::nameOf", "H5Tenum_nameof failed");
}
// otherwise, create the string to hold the datatype name and return it
string name = string( name_C );
@@ -104,7 +104,7 @@ void EnumType::valueOf( const char* name, void *value ) const
herr_t ret_value = H5Tenum_valueof( id, name, value );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("EnumType::valueOf", "H5Tenum_valueof failed");
}
}
@@ -116,7 +116,7 @@ void EnumType::getMemberValue( int memb_no, void *value ) const
hid_t ret_value = H5Tget_member_value( id, memb_no, value );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("EnumType::getMemberValue", "H5Tget_member_value failed");
}
}

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5EnumType_H
#define _H5EnumType_H
@@ -5,7 +6,7 @@
namespace H5 {
#endif
class EnumType : public DataType {
class __DLLCPP__ EnumType : public DataType {
public:
// Creates an empty enumeration datatype based on a native signed

View File

@@ -5,34 +5,45 @@
#endif
#include "H5Include.h"
#include <string>
// Added this line for CC to work at this time. Will remove it when
// the problem is fixed. BMR - 10/30/00
#include "H5Exception.h"
#ifndef H5_NO_NAMESPACE
namespace H5 {
using namespace std;
#endif
Exception::Exception() : detailMessage("") {}
// Default constructor
Exception::Exception() : detailMessage(""), funcName("") {}
// Constructor taking only a detailed message as string object
//Exception::Exception(const string& message) : detailMessage(message) {}
// Constructor taking a function name and a detailed message as string objects
Exception::Exception(const string& func_name, const string& message) : detailMessage(message), funcName(func_name) {}
// Constructor taking a detailed message as character string
// digital alpha (gondolin) produces compilation error at static_cast<string>
// so I replaced this constructor by the one below it
//Exception::Exception( const char* message) : detailMessage(static_cast<string>(message)) {}
//Exception::Exception(const char* message)
//{
//detailMessage = string(message);
//}
Exception::Exception( const char* message)
// Constructor taking a function name and a detailed message as character
// strings
Exception::Exception(const char* func_name, const char* message)
{
detailMessage = string( message );
detailMessage = string(message);
if (func_name != NULL)
funcName = string(func_name);
}
Exception::Exception( const string& message ) : detailMessage( message ) {}
// copy constructor
Exception::Exception( const Exception& orig )
{
detailMessage = orig.detailMessage;
funcName = orig.funcName;
}
// Returns the character string that describes an error specified by
@@ -56,13 +67,13 @@ string Exception::getMinorString( H5E_minor_t minor_num ) const
}
// Turns on the automatic error printing.
void Exception::setAutoPrint( H5E_auto_t func, void* client_data ) const
void Exception::setAutoPrint( H5E_auto_t func, void* client_data )
{
// calls the C API routine H5Eset_auto to set the auto printing to
// the specified function.
herr_t ret_value = H5Eset_auto( func, client_data );
if( ret_value < 0 )
throw Exception( "setAutoPrint: H5Eset_auto fails" );
throw Exception( "Exception::setAutoPrint", "H5Eset_auto failed" );
}
// Turns off the automatic error printing.
@@ -72,52 +83,67 @@ void Exception::dontPrint()
// off the automatic error printing.
herr_t ret_value = H5Eset_auto( NULL, NULL );
if( ret_value < 0 )
throw Exception( "dontPrint: H5Eset_auto fails" );
throw Exception( "Exception::dontPrint", "H5Eset_auto failed" );
}
// Retrieves the current settings for the automatic error stack traversal
// function and its data.
void Exception::getAutoPrint( H5E_auto_t& func, void** client_data ) const
void Exception::getAutoPrint( H5E_auto_t& func, void** client_data )
{
// calls the C API routine H5Eget_auto to get the current setting of
// the automatic error printing
herr_t ret_value = H5Eget_auto( &func, client_data );
if( ret_value < 0 )
throw Exception( "getAutoPrint: H5Eget_auto fails" );
throw Exception( "Exception::getAutoPrint", "H5Eget_auto failed" );
}
// Clears the error stack for the current thread.
void Exception::clearErrorStack() const
void Exception::clearErrorStack()
{
// calls the C API routine H5Eclear to clear the error stack
herr_t ret_value = H5Eclear();
if( ret_value < 0 )
throw Exception( "clearErrorStack: H5Eclear fails" );
throw Exception( "Exception::clearErrorStack", "H5Eclear failed" );
}
// Walks the error stack for the current thread, calling the specified function.
void Exception::walkErrorStack( H5E_direction_t direction, H5E_walk_t func, void* client_data ) const
void Exception::walkErrorStack( H5E_direction_t direction, H5E_walk_t func, void* client_data )
{
// calls the C API routine H5Ewalk to walk the error stack
herr_t ret_value = H5Ewalk( direction, func, client_data );
if( ret_value < 0 )
throw Exception( "walkErrorStack: H5Ewalk fails" );
throw Exception( "Exception::walkErrorStack", "H5Ewalk failed" );
}
// Default error stack traversal callback function that prints error
// messages to the specified output stream.
void Exception::walkDefErrorStack( int n, H5E_error_t& err_desc, void* client_data ) const
void Exception::walkDefErrorStack( int n, H5E_error_t& err_desc, void* client_data )
{
// calls the C API routine H5Ewalk_cb to walk the error stack
herr_t ret_value = H5Ewalk_cb( n, &err_desc, client_data );
if( ret_value < 0 )
throw Exception( "walkDefErrorStack: H5Ewalk_cb fails" );
throw Exception( "Exception::walkDefErrorStack", "H5Ewalk_cb failed" );
}
// Returns the detailed message set at the time the exception is thrown
string Exception::getDetailMesg() const
string Exception::getDetailMsg() const
{
return( detailMessage );
return(detailMessage);
}
const char* Exception::getCDetailMsg() const
{
return(detailMessage.c_str());
}
// Returns the function name where the exception is thrown
string Exception::getFuncName() const
{
return(funcName);
}
const char* Exception::getCFuncName() const
{
return(funcName.c_str());
}
// Prints the error stack in a default manner.
@@ -125,54 +151,59 @@ void Exception::printError( FILE* stream ) const
{
herr_t ret_value = H5Eprint( NULL ); // print to stderr
if( ret_value < 0 )
throw Exception( "printError: H5Eprint fails" );
throw Exception( "Exception::printError", "H5Eprint failed" );
}
Exception::~Exception()
{
herr_t ret_value = H5Eprint( NULL ); // print to stderr
if( ret_value < 0 )
throw Exception( "printError: H5Eprint fails" );
}
Exception::~Exception() {}
FileIException::FileIException():Exception(){}
FileIException::FileIException( string message ): Exception( message ){}
FileIException::FileIException(const string& func_name, const string& message) : Exception(func_name, message) {}
FileIException::FileIException(const char* func_name, const char* message) : Exception(func_name, message) {}
FileIException::~FileIException() {}
GroupIException::GroupIException():Exception(){}
GroupIException::GroupIException( string message ): Exception( message ){}
GroupIException::GroupIException(const string& func_name, const string& message) : Exception(func_name, message) {}
GroupIException::GroupIException(const char* func_name, const char* message) : Exception(func_name, message) {}
GroupIException::~GroupIException() {}
DataSpaceIException::DataSpaceIException():Exception(){}
DataSpaceIException::DataSpaceIException( string message ): Exception( message ) {}
DataSpaceIException::DataSpaceIException(const string& func_name, const string& message) : Exception(func_name, message) {}
DataSpaceIException::DataSpaceIException(const char* func_name, const char* message) : Exception(func_name, message) {}
DataSpaceIException::~DataSpaceIException() {}
DataTypeIException::DataTypeIException():Exception(){}
DataTypeIException::DataTypeIException( string message ): Exception( message ) {}
DataTypeIException::DataTypeIException(const string& func_name, const string& message) : Exception(func_name, message) {}
DataTypeIException::DataTypeIException(const char* func_name, const char* message) : Exception(func_name, message) {}
DataTypeIException::~DataTypeIException() {}
PropListIException::PropListIException():Exception(){}
PropListIException::PropListIException( string message ): Exception( message ) {}
PropListIException::PropListIException(const string& func_name, const string& message) : Exception(func_name, message) {}
PropListIException::PropListIException(const char* func_name, const char* message) : Exception(func_name, message) {}
PropListIException::~PropListIException() {}
DataSetIException::DataSetIException():Exception(){}
DataSetIException::DataSetIException( string message ): Exception( message ) {}
DataSetIException::DataSetIException(const string& func_name, const string& message) : Exception(func_name, message) {}
DataSetIException::DataSetIException(const char* func_name, const char* message) : Exception(func_name, message) {}
DataSetIException::~DataSetIException() {}
AttributeIException::AttributeIException():Exception(){}
AttributeIException::AttributeIException( string message ): Exception( message ) {}
AttributeIException::AttributeIException(const string& func_name, const string& message) : Exception(func_name, message) {}
AttributeIException::AttributeIException(const char* func_name, const char* message) : Exception(func_name, message) {}
AttributeIException::~AttributeIException() {}
ReferenceException::ReferenceException():Exception(){}
ReferenceException::ReferenceException( string message ): Exception( message ) {}
ReferenceException::ReferenceException(const string& func_name, const string& message) : Exception(func_name, message) {}
ReferenceException::ReferenceException(const char* func_name, const char* message) : Exception(func_name, message) {}
ReferenceException::~ReferenceException() {}
LibraryIException::LibraryIException():Exception(){}
LibraryIException::LibraryIException( string message ): Exception( message ) {}
LibraryIException::LibraryIException(const string& func_name, const string& message) : Exception(func_name, message) {}
LibraryIException::LibraryIException(const char* func_name, const char* message) : Exception(func_name, message) {}
LibraryIException::~LibraryIException() {}
IdComponentException::IdComponentException(): Exception() {}
IdComponentException::IdComponentException( string message ): Exception( message ) {}
IdComponentException::IdComponentException(const string& func_name, const string& message) : Exception(func_name, message) {}
IdComponentException::IdComponentException(const char* func_name, const char* message) : Exception(func_name, message) {}
IdComponentException::~IdComponentException() {}
// The following are from Java API but not done here:

View File

@@ -8,18 +8,18 @@ namespace H5 {
using namespace std;
#endif
class Exception {
class __DLLCPP__ Exception {
public:
// Creates an exception with no message
// Default constructor
Exception();
// Creates an exception with a detailed message
Exception( const string& message );
Exception( const char* message);
// Creates an exception with a function name where the failure occurs
// and an optional detailed message
Exception( const string& func_name, const string& message = NULL);
Exception( const char* func_name, const char* message = NULL);
// copy constructor
Exception( const Exception& orig );
Exception( const Exception& orig);
// Returns the character string that describes an error specified by
// a major error number.
@@ -30,121 +30,129 @@ class Exception {
string getMinorString( H5E_minor_t minor_num ) const;
// Returns the detailed message set at the time the exception is thrown
string getDetailMesg() const;
string getDetailMsg() const;
const char* getCDetailMsg() const; // C string of detailed message
string getFuncName() const; // function name as a string object
const char* getCFuncName() const; // function name as a char string
// Turns on the automatic error printing.
void setAutoPrint( H5E_auto_t func,
void* client_data ) const;
static void setAutoPrint( H5E_auto_t func, void* client_data);
// Turns off the automatic error printing.
static void dontPrint();
// Retrieves the current settings for the automatic error stack
// traversal function and its data.
void getAutoPrint( H5E_auto_t& func,
void** client_data ) const;
static void getAutoPrint( H5E_auto_t& func, void** client_data);
// Clears the error stack for the current thread.
void clearErrorStack() const;
static void clearErrorStack();
// Walks the error stack for the current thread, calling the
// specified function.
void walkErrorStack( H5E_direction_t direction,
H5E_walk_t func, void* client_data ) const;
static void walkErrorStack( H5E_direction_t direction,
H5E_walk_t func, void* client_data);
// Default error stack traversal callback function that prints
// error messages to the specified output stream.
void walkDefErrorStack( int n, H5E_error_t& err_desc,
void* client_data ) const;
static void walkDefErrorStack( int n, H5E_error_t& err_desc,
void* client_data);
// Prints the error stack in a default manner.
//void printError() const;
virtual void printError( FILE* stream = NULL ) const;
// virtual Destructor
virtual ~Exception();
private:
// Because 'string' is not instantiated at compilation time, this
// warning is displayed; but the class is exported so the warning
// is harmless
#pragma warning(disable: 4251)
string detailMessage;
string funcName;
};
class FileIException : public Exception {
class __DLLCPP__ FileIException : public Exception {
public:
FileIException();
FileIException( string message );
FileIException( const string& func_name, const string& message = NULL);
FileIException( const char* func_name, const char* message = NULL);
virtual ~FileIException();
};
class GroupIException : public Exception {
class __DLLCPP__ GroupIException : public Exception {
public:
GroupIException();
GroupIException( string message );
GroupIException( const string& func_name, const string& message=NULL);
GroupIException( const char* func_name, const char* message = NULL);
virtual ~GroupIException();
};
class DataSpaceIException : public Exception {
class __DLLCPP__ DataSpaceIException : public Exception {
public:
DataSpaceIException();
DataSpaceIException( string message );
DataSpaceIException(const string& func_name, const string& message=NULL);
DataSpaceIException(const char* func_name, const char* message = NULL);
virtual ~DataSpaceIException();
};
class DataTypeIException : public Exception {
class __DLLCPP__ DataTypeIException : public Exception {
public:
DataTypeIException();
DataTypeIException( string message );
DataTypeIException(const string& func_name, const string& message = NULL);
DataTypeIException(const char* func_name, const char* message = NULL);
virtual ~DataTypeIException();
};
class PropListIException : public Exception {
class __DLLCPP__ PropListIException : public Exception {
public:
PropListIException();
PropListIException( string message );
PropListIException(const string& func_name, const string& message=NULL);
PropListIException(const char* func_name, const char* message = NULL);
virtual ~PropListIException();
};
class DataSetIException : public Exception {
class __DLLCPP__ DataSetIException : public Exception {
public:
DataSetIException();
DataSetIException( string message );
DataSetIException(const string& func_name, const string& message=NULL);
DataSetIException(const char* func_name, const char* message = NULL);
virtual ~DataSetIException();
};
class AttributeIException : public Exception {
class __DLLCPP__ AttributeIException : public Exception {
public:
AttributeIException();
AttributeIException( string message );
AttributeIException(const string& func_name, const string& message=NULL);
AttributeIException(const char* func_name, const char* message = NULL);
virtual ~AttributeIException();
};
class ReferenceException : public Exception {
class __DLLCPP__ ReferenceException : public Exception {
public:
ReferenceException();
ReferenceException( string message );
ReferenceException(const string& func_name, const string& message=NULL);
ReferenceException(const char* func_name, const char* message = NULL);
virtual ~ReferenceException();
};
class LibraryIException : public Exception {
class __DLLCPP__ LibraryIException : public Exception {
public:
LibraryIException();
LibraryIException( string message );
LibraryIException(const string& func_name, const string& message=NULL);
LibraryIException(const char* func_name, const char* message = NULL);
virtual ~LibraryIException();
};
class IdComponentException : public Exception {
class __DLLCPP__ IdComponentException : public Exception {
public:
IdComponentException();
IdComponentException( string message );
IdComponentException(const string& func_name, const string& message=NULL);
IdComponentException(const char* func_name, const char* message = NULL);
virtual ~IdComponentException();
};
// The following are from Java API but not done here:
// AtomException, BtreeException, DataFiltersException,
// ExternalFilelistException, FunctionEntryExitException,
// HeapException, InternalErrorException, LowLevelIOException,
// MetaDataCacheException, ResourceUnavailableException,
// SymbolTableException, ObjectHeaderException, FunctionArgumentException,
// DataStorageException
#ifndef H5_NO_NAMESPACE
}
#endif

View File

@@ -25,7 +25,7 @@ void FileAccPropList::setStdio() const
herr_t ret_value = H5Pset_stdio( id );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileAccPropList::setStdio", "H5Pset_stdio failed");
}
}
@@ -43,7 +43,7 @@ H5F_driver_t FileAccPropList::getDriver() const
H5F_driver_t driver = H5Pget_driver( id );
if( driver == H5F_LOW_ERROR )
{
throw PropListIException();
throw PropListIException("FileAccPropList::getDriver", "H5Pget_driver failed");
}
return( driver );
}
@@ -53,7 +53,7 @@ void FileAccPropList::setSec2() const
herr_t ret_value = H5Pset_sec2( id );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileAccPropList::setSec2", "H5Pset_sec2 failed");
}
}
@@ -71,7 +71,7 @@ void FileAccPropList::setCore( size_t increment ) const
herr_t ret_value = H5Pset_core( id, increment );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileAccPropList::setCore", "H5Pset_core failed");
}
}
@@ -89,7 +89,7 @@ void FileAccPropList::setFamily( hsize_t memb_size, const FileAccPropList& memb_
herr_t ret_value = H5Pset_family( id, memb_size, memb_plist.getId() );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileAccPropList::setFamily", "H5Pset_family failed");
}
}
@@ -121,7 +121,7 @@ void FileAccPropList::setSplit( FileAccPropList& meta_plist, FileAccPropList& ra
herr_t ret_value = H5Pset_split( id, meta_ext, meta_pid, raw_ext, raw_pid );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileAccPropList::setSplit", "H5Pset_split failed");
}
}
@@ -139,7 +139,7 @@ void FileAccPropList::getSplit( size_t meta_ext_size, string& meta_ext, FileAccP
&meta_plist_id, raw_ext_size, raw_ext_C, &raw_plist_id );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileAccPropList::getSplit", "H5Pget_split failed");
}
meta_plist.setId( meta_plist_id );
raw_plist.setId( raw_plist_id );
@@ -155,7 +155,7 @@ void FileAccPropList::setAlignment( hsize_t threshold, hsize_t alignment ) const
herr_t ret_value = H5Pset_alignment( id, threshold, alignment );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileAccPropList::setAlignment", "H5Pset_alignment failed");
}
}
@@ -164,7 +164,7 @@ void FileAccPropList::getAlignment( hsize_t& threshold, hsize_t& alignment ) con
herr_t ret_value = H5Pget_alignment( id, &threshold, &alignment );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileAccPropList::getAlignment", "H5Pget_alignment failed");
}
}
@@ -175,7 +175,7 @@ void FileAccPropList::setMpi( MPI_Comm comm, MPI_Info info ) const
herr_t ret_value = H5Pset_mpi( id, comm, info );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileAccPropList::setMpi", "H5Pset_mpi failed");
}
}
@@ -194,7 +194,7 @@ void FileAccPropList::setCache( int mdc_nelmts, int rdcc_nelmts, size_t rdcc_nby
herr_t ret_value = H5Pset_cache( id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0 );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileAccPropList::setCache", "H5Pset_cache failed");
}
}
@@ -203,7 +203,7 @@ void FileAccPropList::getCache( int& mdc_nelmts, int& rdcc_nelmts, size_t& rdcc_
herr_t ret_value = H5Pget_cache( id, &mdc_nelmts, &rdcc_nelmts, &rdcc_nbytes, &rdcc_w0 );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileAccPropList::getCache", "H5Pget_cache failed");
}
}
@@ -212,7 +212,7 @@ void FileAccPropList::setGcReferences( unsigned gc_ref ) const
herr_t ret_value = H5Pset_gc_references( id, gc_ref );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileAccPropList::setGcReferences", "H5Pset_gc_references failed");
}
}
@@ -224,7 +224,7 @@ unsigned FileAccPropList::getGcReferences() const
herr_t ret_value = H5Pget_gc_references( id, &gc_ref );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileAccPropList::getGcReferences", "H5Pget_gc_references failed");
}
return( gc_ref );
}

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5FileAccPropList_H
#define _H5FileAccPropList_H
@@ -6,7 +7,7 @@ namespace H5 {
#endif
// class for file access properties
class FileAccPropList : public PropList {
class __DLLCPP__ FileAccPropList : public PropList {
public:
static const FileAccPropList DEFAULT;

View File

@@ -25,7 +25,8 @@ void FileCreatPropList::getVersion(
herr_t ret_value = H5Pget_version( id, &boot, &freelist, &stab, &shhdr );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileCreatPropList::getVersion",
"H5Pget_version failed");
}
}
@@ -34,7 +35,8 @@ void FileCreatPropList::setUserblock( hsize_t size ) const
herr_t ret_value = H5Pset_userblock( id, size);
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileCreatPropList::setUserblock",
"H5Pset_userblock failed");
}
}
@@ -44,7 +46,8 @@ hsize_t FileCreatPropList::getUserblock() const
herr_t ret_value = H5Pget_userblock( id, &userblock_size );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileCreatPropList::getUserblock",
"H5Pget_userblock failed");
}
return( userblock_size );
}
@@ -54,7 +57,8 @@ void FileCreatPropList::setSizes( size_t sizeof_addr, size_t sizeof_size ) const
herr_t ret_value = H5Pset_sizes( id, sizeof_addr, sizeof_size );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileCreatPropList::setSizes",
"H5Pset_sizes failed");
}
}
@@ -63,7 +67,8 @@ void FileCreatPropList::getSizes( size_t& sizeof_addr, size_t& sizeof_size ) con
herr_t ret_value = H5Pget_sizes( id, &sizeof_addr, &sizeof_size );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileCreatPropList::getSizes",
"H5Pget_sizes failed");
}
}
@@ -72,7 +77,8 @@ void FileCreatPropList::setSymk( int ik, int lk ) const
herr_t ret_value = H5Pset_sym_k( id, ik, lk );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileCreatPropList::setSymk",
"H5Pset_sym_k failed");
}
}
@@ -81,7 +87,8 @@ void FileCreatPropList::getSymk( int& ik, int& lk ) const
herr_t ret_value = H5Pget_sym_k( id, &ik, &lk );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileCreatPropList::getSymk",
"H5Pget_sym_k failed");
}
}
@@ -90,7 +97,8 @@ void FileCreatPropList::setIstorek( int ik ) const
herr_t ret_value = H5Pset_istore_k( id, ik );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileCreatPropList::setIstorek",
"H5Pset_istore_k failed");
}
}
int FileCreatPropList::getIstorek() const
@@ -99,7 +107,8 @@ int FileCreatPropList::getIstorek() const
herr_t ret_value = H5Pget_istore_k( id, &ik );
if( ret_value < 0 )
{
throw PropListIException();
throw PropListIException("FileCreatPropList::getIstorek",
"H5Pget_istore_k failed");
}
return( ik );
}

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5FileCreatPropList_H
#define _H5FileCreatPropList_H
@@ -6,7 +7,7 @@ namespace H5 {
#endif
// class for file access properties
class FileCreatPropList : public PropList {
class __DLLCPP__ FileCreatPropList : public PropList {
public:
static const FileCreatPropList DEFAULT;

View File

@@ -38,26 +38,29 @@ H5File::H5File( const char* name, unsigned int flags, const FileCreatPropList& c
// constructors taking a string or a char*
void H5File::getFile( const char* name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist )
{
// These bits only set for creation, so if any of them are set,
// create the file.
if( flags & (H5F_ACC_EXCL|H5F_ACC_TRUNC|H5F_ACC_DEBUG ))
{
hid_t create_plist_id = create_plist.getId();
hid_t access_plist_id = access_plist.getId();
id = H5Fcreate( name, flags, create_plist_id, access_plist_id );
}
// Open the file if none of the bits above are set.
else
{
// use create_plist for access plist because of the default argument
hid_t access_plist_id = create_plist.getId();
id = H5Fopen( name, flags, access_plist_id );
}
if( id <= 0 ) // throw an exception when open/create fail
{
throw FileIException();
}
// These bits only set for creation, so if any of them are set,
// create the file.
if( flags & (H5F_ACC_EXCL|H5F_ACC_TRUNC|H5F_ACC_DEBUG ))
{
hid_t create_plist_id = create_plist.getId();
hid_t access_plist_id = access_plist.getId();
id = H5Fcreate( name, flags, create_plist_id, access_plist_id );
if( id <= 0 ) // throw an exception when open/create fail
{
throw FileIException("H5File constructor", "H5Fcreate failed");
}
}
// Open the file if none of the bits above are set.
else
{
// use create_plist for access plist because of the default argument
hid_t access_plist_id = create_plist.getId();
id = H5Fopen( name, flags, access_plist_id );
if( id <= 0 ) // throw an exception when open/create fail
{
throw FileIException("H5File constructor", "H5Fopen failed");
}
}
}
// Copy constructor: makes a copy of the original H5File object.
@@ -79,7 +82,7 @@ bool H5File::isHdf5(const char* name )
return false;
else // Raise exception when H5Fis_hdf5 returns a negative value
{
throw FileIException();
throw FileIException("H5File::isHdf5", "H5Fis_hdf5 returned negative value");
}
}
@@ -95,14 +98,18 @@ void H5File::reopen()
{
// reset the identifier of this H5File - send 'this' in so that
// H5Fclose can be called appropriately
resetIdComponent( this );
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw FileIException("H5File::reopen", close_error.getDetailMsg());
}
// call C routine to reopen the file - Note: not sure about this
// does id need to be closed later? which id to be the parameter?
id = H5Freopen( id );
if( id <= 0 ) // Raise exception when H5Freopen returns a neg value
{
throw FileIException();
throw FileIException("H5File::reopen", "H5Freopen failed");
}
}
@@ -120,7 +127,7 @@ FileCreatPropList H5File::getCreatePlist() const
}
else
{
throw FileIException();
throw FileIException("H5File::getCreatePlist", "H5Fget_create_plist failed");
}
}
@@ -138,7 +145,7 @@ FileAccPropList H5File::getAccessPlist() const
}
else // Raise an exception
{
throw FileIException();
throw FileIException("H5File::getAccessPlist", "H5Fget_access_plist failed");
}
}
@@ -148,14 +155,19 @@ void H5File::p_close() const
herr_t ret_value = H5Fclose( id );
if( ret_value < 0 )
{
throw FileIException();
throw FileIException(NULL, "H5Fclose failed");
}
}
// Throw file exception
void H5File::throwException() const
// Throw file exception; used in CommonFG implementation so that proper
// exception can be thrown for file or group. The func_name is a member
// function of CommonFG and "H5File::" will be inserted to indicate the
// function called is an implementation of H5File
void H5File::throwException(const string& func_name, const string& msg) const
{
throw FileIException();
string full_name = func_name;
full_name.insert(0, "H5File::");
throw FileIException(full_name, msg);
}
// The destructor of this instance calls IdComponent::reset to
@@ -166,7 +178,11 @@ void H5File::throwException() const
H5File::~H5File()
{
// The HDF5 file id will be closed properly
resetIdComponent( this );
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw FileIException("H5File::~H5File", close_error.getDetailMsg());
}
}
#ifndef H5_NO_NAMESPACE

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5File_H
#define _H5File_H
@@ -5,7 +6,7 @@
namespace H5 {
#endif
class H5File : public IdComponent, public CommonFG {
class __DLLCPP__ H5File : public IdComponent, public CommonFG {
public:
// copy constructor: makes a copy of the original H5File object.
H5File(const H5File& original );
@@ -22,7 +23,8 @@ class H5File : public IdComponent, public CommonFG {
virtual hid_t getLocId() const;
// Throw file exception
virtual void throwException() const;
virtual void throwException(const string& func_name, const string& msg) const;
// Determines if a file, specified by its name, is in HDF5 format
static bool isHdf5(const string& name );

View File

@@ -43,7 +43,7 @@ FloatType::FloatType( const DataSet& dataset ) : AtomType()
if( id <= 0 )
{
throw DataSetIException();
throw DataSetIException("FloatType constructor", "H5Dget_type failed");
}
}
@@ -53,7 +53,7 @@ void FloatType::getFields( size_t& spos, size_t& epos, size_t& esize, size_t& mp
herr_t ret_value = H5Tget_fields( id, &spos, &epos, &esize, &mpos, &msize );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("FloatType::getFields", "H5Tget_fields failed");
}
}
@@ -63,7 +63,7 @@ void FloatType::setFields( size_t spos, size_t epos, size_t esize, size_t mpos,
herr_t ret_value = H5Tset_fields( id, spos, epos, esize, mpos, msize );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("FloatType::setFields", "H5Tset_fields failed");
}
}
@@ -74,7 +74,7 @@ size_t FloatType::getEbias() const
// Returns the bias if successful
if( ebias == 0 )
{
throw DataTypeIException();
throw DataTypeIException("FloatType::getEbias", "H5Tget_ebias failed - returned exponent bias as 0");
}
return( ebias );
}
@@ -85,7 +85,7 @@ void FloatType::setEbias( size_t ebias ) const
herr_t ret_value = H5Tset_ebias( id, ebias );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("FloatType::setEbias", "H5Tset_ebias failed");
}
}
@@ -96,7 +96,7 @@ H5T_norm_t FloatType::getNorm( string& norm_string ) const
// Returns a valid normalization type if successful
if( norm == H5T_NORM_ERROR )
{
throw DataTypeIException();
throw DataTypeIException("FloatType::getNorm", "H5Tget_norm failed - returned H5T_NORM_ERROR");
}
if( norm == H5T_NORM_IMPLIED )
norm_string = "H5T_NORM_IMPLIED (0)";
@@ -113,7 +113,7 @@ void FloatType::setNorm( H5T_norm_t norm ) const
herr_t ret_value = H5Tset_norm( id, norm );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("FloatType::setNorm", "H5Tset_norm failed");
}
}
@@ -124,7 +124,7 @@ H5T_pad_t FloatType::getInpad( string& pad_string ) const
// Returns a valid padding type if successful
if( pad_type == H5T_PAD_ERROR )
{
throw DataTypeIException();
throw DataTypeIException("FloatType::getInpad", "H5Tget_inpad failed - returned H5T_PAD_ERROR");
}
if( pad_type == H5T_PAD_ZERO )
pad_string = "H5T_PAD_ZERO (0)";
@@ -141,7 +141,7 @@ void FloatType::setInpad( H5T_pad_t inpad ) const
herr_t ret_value = H5Tset_inpad( id, inpad );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("FloatType::setInpad", "H5Tset_inpad failed");
}
}

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5FloatType_H
#define _H5FloatType_H
@@ -5,7 +6,7 @@
namespace H5 {
#endif
class FloatType : public AtomType {
class __DLLCPP__ FloatType : public AtomType {
public:
// default constructor
FloatType();

View File

@@ -51,7 +51,7 @@ Group::Group( const hid_t group_id ) : H5Object( group_id ) {}
//return( ret_value );
//else // raise exception when H5Aiterate returns a negative value
//{
//throw GroupIException();
//throw GroupIException("Group::iterateElems", "H5Giterate failed");
//}
//}
@@ -61,14 +61,16 @@ void Group::p_close() const
herr_t ret_value = H5Gclose( id );
if( ret_value < 0 )
{
throw GroupIException();
throw GroupIException(NULL, "H5Gclose failed");
}
}
// Throw file exception
void Group::throwException() const
void Group::throwException(const string& func_name, const string& msg) const
{
throw GroupIException();
string full_name = func_name;
full_name.insert(0, "Group::");
throw GroupIException(full_name, msg);
}
// The destructor of this instance calls IdComponent::reset to
@@ -79,7 +81,12 @@ void Group::throwException() const
Group::~Group()
{
// The group id will be closed properly
resetIdComponent( this );
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw GroupIException("Group::~Group", close_error.getDetailMsg());
}
}
#ifndef H5_NO_NAMESPACE

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5Group_H
#define _H5Group_H
@@ -5,7 +6,7 @@
namespace H5 {
#endif
class Group : public H5Object, public CommonFG {
class __DLLCPP__ Group : public H5Object, public CommonFG {
public:
// default constructor
Group();
@@ -17,7 +18,8 @@ class Group : public H5Object, public CommonFG {
virtual hid_t getLocId() const;
// Throw group exception
virtual void throwException() const;
virtual void throwException(const string& func_name, const string& msg) const;
// Used by the API to appropriately close a group
void p_close() const;

View File

@@ -63,7 +63,11 @@ IdComponent& IdComponent::operator=( const IdComponent& rhs )
{
// reset the identifier of this object - resetIdComponent will call the
// appropriate H5xclose to close the id
resetIdComponent( this );
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw IdComponentException("IdComponent::operator=", close_error.getDetailMsg());
}
// copy the data members from the rhs object
id = rhs.id;
@@ -85,7 +89,11 @@ IdComponent& IdComponent::operator=( const IdComponent& rhs )
void IdComponent::setId( hid_t new_id )
{
// reset the identifier of this object, call appropriate H5Xclose
resetIdComponent( this );
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw IdComponentException("IdComponent::setId", close_error.getDetailMsg());
}
id = new_id;

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _IdComponent_H
#define _IdComponent_H
@@ -8,7 +9,7 @@
namespace H5 {
#endif
class IdComponent {
class __DLLCPP__ IdComponent {
public:
// Parent classes must reset the current IdComponent copy
// before setting new id to control reference count
@@ -25,7 +26,7 @@ class IdComponent {
IdComponent( const IdComponent& original );
// Gets the value of IdComponent's data member
hid_t getId () const;
virtual hid_t getId () const;
// Increment reference counter
void incRefCount();
@@ -40,6 +41,9 @@ class IdComponent {
// reference to this object
bool noReference();
// Assignment operator
IdComponent& operator=( const IdComponent& rhs );
// Resets this IdComponent instance
//template <class Type>
//void reset( Type* parent );
@@ -54,9 +58,6 @@ class IdComponent {
RefCounter* ref_count; // used to keep track of the
// number of copies of an object
// Assignment operator
IdComponent& operator=( const IdComponent& rhs );
// Default constructor
IdComponent();

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _Reset_h
#define _Reset_h
@@ -12,7 +13,7 @@ namespace H5 {
// a member function so it can be template to work around that problem.
template <class Type>
void resetIdComponent(
__DLLCPP__ void resetIdComponent(
Type* obj ) // pointer to object to be reset
{
if( obj->noReference()) // ref count of this object is decremented here

View File

@@ -1,7 +1,8 @@
// C++ informative line for the emacs editor: -*- C++ -*-
// Added this line for CC to compile at this time. Will remove it when
// the problem of "Multiple declaration for RcsId" is fixed. BMR - 10/30/00
#ifdef RCSID
#undef RCSID
#endif
#include <hdf5.h>
// This problem is removed. I could replace all #include "H5Include.h"
// by #include <hdf5.h>, but decide not to. BMR - 3/22/01
#include "hdf5.h"

View File

@@ -32,10 +32,18 @@ IntType::IntType( const PredType& pred_type ) : AtomType()
copy( pred_type );
}
/* BMR - may not keep
IntType& IntType::operator=( const PredType& rhs )
{
copy(rhs);
return(*this);
}
*/
// Creates a integer datatype using an existing id
IntType::IntType( const hid_t existing_id ) : AtomType( existing_id ) {}
// Gets the integer datatype of the specified dataset - will reimplement
// Gets the integer datatype of the specified dataset - may reimplement -BMR
IntType::IntType( const DataSet& dataset ) : AtomType()
{
// Calls C function H5Dget_type to get the id of the datatype
@@ -43,7 +51,7 @@ IntType::IntType( const DataSet& dataset ) : AtomType()
if( id <= 0 )
{
throw DataSetIException();
throw DataSetIException("IntType constructor", "H5Dget_type failed");
}
}
@@ -54,7 +62,8 @@ H5T_sign_t IntType::getSign() const
// Returns a valid sign type if successful
if( type_sign == H5T_SGN_ERROR )
{
throw DataTypeIException();
throw DataTypeIException("IntType::getSign",
"H5Tget_sign failed - returned H5T_SGN_ERROR for the sign type");
}
return( type_sign );
}
@@ -66,7 +75,7 @@ void IntType::setSign( H5T_sign_t sign ) const
herr_t ret_value = H5Tset_sign( id, sign );
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("IntType::setSign", "H5Tset_sign failed");
}
}

View File

@@ -1,10 +1,11 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5IntType_H
#define _H5IntType_H
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
class IntType : public AtomType {
class __DLLCPP__ IntType : public AtomType {
public:
// default constructor
@@ -22,6 +23,10 @@ class IntType : public AtomType {
// Gets the integer datatype of the specified dataset
IntType( const DataSet& dataset );
// Assignment operator that takes a predefined type
// may not use - BMR
// virtual IntType& operator=( const PredType& rhs );
// Retrieves the sign type for an integer type
H5T_sign_t getSign() const;

View File

@@ -17,7 +17,7 @@ void H5Library::open()
herr_t ret_value = H5open();
if( ret_value < 0 )
{
throw LibraryIException();
throw LibraryIException("H5Library::open", "H5open failed");
}
}
@@ -27,7 +27,7 @@ void H5Library::close()
herr_t ret_value = H5close();
if( ret_value < 0 )
{
throw LibraryIException();
throw LibraryIException("H5Library::close", "H5close failed");
}
}
@@ -37,7 +37,7 @@ void H5Library::dontAtExit()
herr_t ret_value = H5dont_atexit();
if( ret_value < 0 )
{
throw LibraryIException();
throw LibraryIException("H5Library::dontAtExit", "H5dont_atexit failed");
}
}
@@ -47,7 +47,7 @@ void H5Library::getLibVersion( unsigned& majnum, unsigned& minnum, unsigned& rel
herr_t ret_value = H5get_libversion( &majnum, &minnum, &relnum );
if( ret_value < 0 )
{
throw LibraryIException();
throw LibraryIException("H5Library::getLibVersion", "H5get_libversion failed");
}
}
@@ -58,7 +58,7 @@ void H5Library::checkVersion( unsigned majnum, unsigned minnum, unsigned relnum
herr_t ret_value = H5check_version( majnum, minnum, relnum );
if( ret_value < 0 )
{
throw LibraryIException();
throw LibraryIException("H5Library::checkVersion", "H5check_version failed");
}
}

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5Library_H
#define _H5Library_H
@@ -11,7 +12,7 @@ namespace H5 {
// It is not even working, inifiteloop message still printed when
// calling H5close
class H5Library {
class __DLLCPP__ H5Library {
public:
static bool need_cleanup; // indicates if H5close should be called

View File

@@ -57,7 +57,7 @@ Attribute H5Object::createAttribute( const char* name, const DataType& data_type
}
else
{
throw AttributeIException();
throw AttributeIException("H5Object::createAttribute", "H5Acreate failed");
}
}
@@ -78,7 +78,7 @@ Attribute H5Object::openAttribute( const char* name ) const
}
else
{
throw AttributeIException();
throw AttributeIException("H5Object::openAttribute", "H5Aopen_name failed");
}
}
@@ -99,7 +99,7 @@ Attribute H5Object::openAttribute( const unsigned int idx ) const
}
else
{
throw AttributeIException();
throw AttributeIException("H5Object::openAttribute", "H5Aopen_idx failed");
}
}
@@ -122,7 +122,7 @@ int H5Object::iterateAttrs( attr_operator_t user_op, unsigned * idx, void *op_da
return( ret_value );
else // raise exception when H5Aiterate returns a negative value
{
throw AttributeIException();
throw AttributeIException("H5Object::iterateAttrs", "H5Aiterate failed");
}
}
@@ -132,7 +132,8 @@ int H5Object::getNumAttrs() const
int num_attrs = H5Aget_num_attrs( id );
if( num_attrs < 0 )
{
throw AttributeIException();
throw AttributeIException("H5Object::getNumAttrs",
"H5Aget_num_attrs failed - returned negative number of attributes");
}
else
return( num_attrs );
@@ -144,7 +145,7 @@ void H5Object::removeAttr( const char* name ) const
herr_t ret_value = H5Adelete( id, name );
if( ret_value < 0 )
{
throw AttributeIException();
throw AttributeIException("H5Object::removeAttr", "H5Adelete failed");
}
}
void H5Object::removeAttr( const string& name ) const
@@ -158,7 +159,7 @@ void H5Object::flush(H5F_scope_t scope ) const
herr_t ret_value = H5Fflush( id, scope );
if( ret_value < 0 )
{
throw FileIException();
throw FileIException("H5Object::flush", "H5Fflush failed");
}
}

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5Object_H
#define _H5Object_H
@@ -12,7 +13,7 @@
namespace H5 {
#endif
class H5Object; // forward declaration for UserData4Aiterate
class __DLLCPP__ H5Object; // forward declaration for UserData4Aiterate
// Define the operator function pointer for H5Aiterate().
typedef void (*attr_operator_t)( H5Object& loc/*in*/,

View File

@@ -27,151 +27,438 @@ PredType::PredType( const hid_t predtype_id ) : AtomType( predtype_id )
// Copy constructor: makes a copy of this PredType object.
PredType::PredType( const PredType& original ) : AtomType( original ) {}
// Makes a copy of the predefined type and stores the new
// id in the left hand side object.
PredType& PredType::operator=( const PredType& rhs )
{
copy(rhs);
return(*this);
}
const PredType PredType::NotAtexit; // only for atexit/global dest. problem
// Definition of pre-defined types
const PredType PredType::C_S1( H5T_C_S1 );
const PredType PredType::FORTRAN_S1( H5T_FORTRAN_S1 );
// Note: the parameter E_xxxx_yyyy is the enum value that represents
// the corresponding HDF5 predefined type H5T_xxxx_yyyy. This enum value
// is stored in PredType::id since it is a PredType object id, in a way.
// In addition, this storage makes things safely simpler. When a PredType
// object is used, the virtual PredType::getId will base on the enum
// value to return the correct HDF5 predefined type id.
const PredType PredType::STD_I8BE( H5T_STD_I8BE );
const PredType PredType::STD_I8LE( H5T_STD_I8LE );
const PredType PredType::STD_I16BE( H5T_STD_I16BE );
const PredType PredType::STD_I16LE( H5T_STD_I16LE );
const PredType PredType::STD_I32BE( H5T_STD_I32BE );
const PredType PredType::STD_I32LE( H5T_STD_I32LE );
const PredType PredType::STD_I64BE( H5T_STD_I64BE );
const PredType PredType::STD_I64LE( H5T_STD_I64LE );
const PredType PredType::STD_U8BE( H5T_STD_U8BE );
const PredType PredType::STD_U8LE( H5T_STD_U8LE );
const PredType PredType::STD_U16BE( H5T_STD_U16BE );
const PredType PredType::STD_U16LE( H5T_STD_U16LE );
const PredType PredType::STD_U32BE( H5T_STD_U32BE );
const PredType PredType::STD_U32LE( H5T_STD_U32LE );
const PredType PredType::STD_U64BE( H5T_STD_U64BE );
const PredType PredType::STD_U64LE( H5T_STD_U64LE );
const PredType PredType::STD_B8BE( H5T_STD_B8BE );
const PredType PredType::STD_B8LE( H5T_STD_B8LE );
const PredType PredType::STD_B16BE( H5T_STD_B16BE );
const PredType PredType::STD_B16LE( H5T_STD_B16LE );
const PredType PredType::STD_B32BE( H5T_STD_B32BE );
const PredType PredType::STD_B32LE( H5T_STD_B32LE );
const PredType PredType::STD_B64BE( H5T_STD_B64BE );
const PredType PredType::STD_B64LE( H5T_STD_B64LE );
const PredType PredType::STD_REF_OBJ( H5T_STD_REF_OBJ );
const PredType PredType::STD_REF_DSETREG( H5T_STD_REF_DSETREG );
const PredType PredType::C_S1( E_C_S1 );
const PredType PredType::FORTRAN_S1( E_FORTRAN_S1 );
const PredType PredType::IEEE_F32BE( H5T_IEEE_F32BE );
const PredType PredType::IEEE_F32LE( H5T_IEEE_F32LE );
const PredType PredType::IEEE_F64BE( H5T_IEEE_F64BE );
const PredType PredType::IEEE_F64LE( H5T_IEEE_F64LE );
const PredType PredType::STD_I8BE( E_STD_I8BE );
const PredType PredType::STD_I8LE( E_STD_I8LE );
const PredType PredType::STD_I16BE( E_STD_I16BE );
const PredType PredType::STD_I16LE( E_STD_I16LE );
const PredType PredType::STD_I32BE( E_STD_I32BE );
const PredType PredType::STD_I32LE( E_STD_I32LE );
const PredType PredType::STD_I64BE( E_STD_I64BE );
const PredType PredType::STD_I64LE( E_STD_I64LE );
const PredType PredType::STD_U8BE( E_STD_U8BE );
const PredType PredType::STD_U8LE( E_STD_U8LE );
const PredType PredType::STD_U16BE( E_STD_U16BE );
const PredType PredType::STD_U16LE( E_STD_U16LE );
const PredType PredType::STD_U32BE( E_STD_U32BE );
const PredType PredType::STD_U32LE( E_STD_U32LE );
const PredType PredType::STD_U64BE( E_STD_U64BE );
const PredType PredType::STD_U64LE( E_STD_U64LE );
const PredType PredType::STD_B8BE( E_STD_B8BE );
const PredType PredType::STD_B8LE( E_STD_B8LE );
const PredType PredType::UNIX_D32BE( H5T_UNIX_D32BE );
const PredType PredType::UNIX_D32LE( H5T_UNIX_D32LE );
const PredType PredType::UNIX_D64BE( H5T_UNIX_D64BE );
const PredType PredType::UNIX_D64LE( H5T_UNIX_D64LE );
const PredType PredType::STD_B16BE( E_STD_B16BE );
const PredType PredType::STD_B16LE( E_STD_B16LE );
const PredType PredType::STD_B32BE( E_STD_B32BE );
const PredType PredType::STD_B32LE( E_STD_B32LE );
const PredType PredType::STD_B64BE( E_STD_B64BE );
const PredType PredType::STD_B64LE( E_STD_B64LE );
const PredType PredType::STD_REF_OBJ( E_STD_REF_OBJ );
const PredType PredType::STD_REF_DSETREG( E_STD_REF_DSETREG );
const PredType PredType::INTEL_I8( H5T_INTEL_I8 );
const PredType PredType::INTEL_I16( H5T_INTEL_I16 );
const PredType PredType::INTEL_I32( H5T_INTEL_I32 );
const PredType PredType::INTEL_I64( H5T_INTEL_I64 );
const PredType PredType::INTEL_U8( H5T_INTEL_U8 );
const PredType PredType::INTEL_U16( H5T_INTEL_U16 );
const PredType PredType::INTEL_U32( H5T_INTEL_U32 );
const PredType PredType::INTEL_U64( H5T_INTEL_U64 );
const PredType PredType::INTEL_B8( H5T_INTEL_B8 );
const PredType PredType::INTEL_B16( H5T_INTEL_B16 );
const PredType PredType::INTEL_B32( H5T_INTEL_B32 );
const PredType PredType::INTEL_B64( H5T_INTEL_B64 );
const PredType PredType::INTEL_F32( H5T_INTEL_F32 );
const PredType PredType::INTEL_F64( H5T_INTEL_F64 );
const PredType PredType::IEEE_F32BE( E_IEEE_F32BE );
const PredType PredType::IEEE_F32LE( E_IEEE_F32LE );
const PredType PredType::IEEE_F64BE( E_IEEE_F64BE );
const PredType PredType::IEEE_F64LE( E_IEEE_F64LE );
const PredType PredType::ALPHA_I8( H5T_ALPHA_I8 );
const PredType PredType::ALPHA_I16( H5T_ALPHA_I16 );
const PredType PredType::ALPHA_I32( H5T_ALPHA_I32 );
const PredType PredType::ALPHA_I64( H5T_ALPHA_I64 );
const PredType PredType::ALPHA_U8( H5T_ALPHA_U8 );
const PredType PredType::ALPHA_U16( H5T_ALPHA_U16 );
const PredType PredType::ALPHA_U32( H5T_ALPHA_U32 );
const PredType PredType::ALPHA_U64( H5T_ALPHA_U64 );
const PredType PredType::ALPHA_B8( H5T_ALPHA_B8 );
const PredType PredType::ALPHA_B16( H5T_ALPHA_B16 );
const PredType PredType::ALPHA_B32( H5T_ALPHA_B32 );
const PredType PredType::ALPHA_B64( H5T_ALPHA_B64 );
const PredType PredType::ALPHA_F32( H5T_ALPHA_F32 );
const PredType PredType::ALPHA_F64( H5T_ALPHA_F64 );
const PredType PredType::UNIX_D32BE( E_UNIX_D32BE );
const PredType PredType::UNIX_D32LE( E_UNIX_D32LE );
const PredType PredType::UNIX_D64BE( E_UNIX_D64BE );
const PredType PredType::UNIX_D64LE( E_UNIX_D64LE );
const PredType PredType::MIPS_I8( H5T_MIPS_I8 );
const PredType PredType::MIPS_I16( H5T_MIPS_I16 );
const PredType PredType::MIPS_I32( H5T_MIPS_I32 );
const PredType PredType::MIPS_I64( H5T_MIPS_I64 );
const PredType PredType::MIPS_U8( H5T_MIPS_U8 );
const PredType PredType::MIPS_U16( H5T_MIPS_U16 );
const PredType PredType::MIPS_U32( H5T_MIPS_U32 );
const PredType PredType::MIPS_U64( H5T_MIPS_U64 );
const PredType PredType::MIPS_B8( H5T_MIPS_B8 );
const PredType PredType::MIPS_B16( H5T_MIPS_B16 );
const PredType PredType::MIPS_B32( H5T_MIPS_B32 );
const PredType PredType::MIPS_B64( H5T_MIPS_B64 );
const PredType PredType::MIPS_F32( H5T_MIPS_F32 );
const PredType PredType::MIPS_F64( H5T_MIPS_F64 );
const PredType PredType::INTEL_I8( E_INTEL_I8 );
const PredType PredType::INTEL_I16( E_INTEL_I16 );
const PredType PredType::INTEL_I32( E_INTEL_I32 );
const PredType PredType::INTEL_I64( E_INTEL_I64 );
const PredType PredType::INTEL_U8( E_INTEL_U8 );
const PredType PredType::INTEL_U16( E_INTEL_U16 );
const PredType PredType::INTEL_U32( E_INTEL_U32 );
const PredType PredType::INTEL_U64( E_INTEL_U64 );
const PredType PredType::INTEL_B8( E_INTEL_B8 );
const PredType PredType::INTEL_B16( E_INTEL_B16 );
const PredType PredType::INTEL_B32( E_INTEL_B32 );
const PredType PredType::INTEL_B64( E_INTEL_B64 );
const PredType PredType::INTEL_F32( E_INTEL_F32 );
const PredType PredType::INTEL_F64( E_INTEL_F64 );
const PredType PredType::NATIVE_CHAR( H5T_NATIVE_CHAR );
const PredType PredType::NATIVE_INT( H5T_NATIVE_INT );
const PredType PredType::NATIVE_FLOAT( H5T_NATIVE_FLOAT );
const PredType PredType::NATIVE_SCHAR( H5T_NATIVE_SCHAR );
const PredType PredType::NATIVE_UCHAR( H5T_NATIVE_UCHAR );
const PredType PredType::NATIVE_SHORT( H5T_NATIVE_SHORT );
const PredType PredType::NATIVE_USHORT( H5T_NATIVE_USHORT );
const PredType PredType::NATIVE_UINT( H5T_NATIVE_UINT );
const PredType PredType::NATIVE_LONG( H5T_NATIVE_LONG );
const PredType PredType::NATIVE_ULONG( H5T_NATIVE_ULONG );
const PredType PredType::NATIVE_LLONG( H5T_NATIVE_LLONG );
const PredType PredType::NATIVE_ULLONG( H5T_NATIVE_ULLONG );
const PredType PredType::NATIVE_DOUBLE( H5T_NATIVE_DOUBLE );
const PredType PredType::NATIVE_LDOUBLE( H5T_NATIVE_LDOUBLE );
const PredType PredType::NATIVE_B8( H5T_NATIVE_B8 );
const PredType PredType::NATIVE_B16( H5T_NATIVE_B16 );
const PredType PredType::NATIVE_B32( H5T_NATIVE_B32 );
const PredType PredType::NATIVE_B64( H5T_NATIVE_B64 );
const PredType PredType::NATIVE_OPAQUE( H5T_NATIVE_OPAQUE );
const PredType PredType::NATIVE_HSIZE( H5T_NATIVE_HSIZE );
const PredType PredType::NATIVE_HSSIZE( H5T_NATIVE_HSSIZE );
const PredType PredType::NATIVE_HERR( H5T_NATIVE_HERR );
const PredType PredType::NATIVE_HBOOL( H5T_NATIVE_HBOOL );
const PredType PredType::ALPHA_I8( E_ALPHA_I8 );
const PredType PredType::ALPHA_I16( E_ALPHA_I16 );
const PredType PredType::ALPHA_I32( E_ALPHA_I32 );
const PredType PredType::ALPHA_I64( E_ALPHA_I64 );
const PredType PredType::ALPHA_U8( E_ALPHA_U8 );
const PredType PredType::ALPHA_U16( E_ALPHA_U16 );
const PredType PredType::ALPHA_U32( E_ALPHA_U32 );
const PredType PredType::ALPHA_U64( E_ALPHA_U64 );
const PredType PredType::ALPHA_B8( E_ALPHA_B8 );
const PredType PredType::ALPHA_B16( E_ALPHA_B16 );
const PredType PredType::ALPHA_B32( E_ALPHA_B32 );
const PredType PredType::ALPHA_B64( E_ALPHA_B64 );
const PredType PredType::ALPHA_F32( E_ALPHA_F32 );
const PredType PredType::ALPHA_F64( E_ALPHA_F64 );
const PredType PredType::NATIVE_INT8( H5T_NATIVE_INT8 );
const PredType PredType::NATIVE_UINT8( H5T_NATIVE_UINT8 );
const PredType PredType::NATIVE_INT_LEAST8( H5T_NATIVE_INT_LEAST8 );
const PredType PredType::NATIVE_UINT_LEAST8( H5T_NATIVE_UINT_LEAST8 );
const PredType PredType::NATIVE_INT_FAST8( H5T_NATIVE_INT_FAST8 );
const PredType PredType::NATIVE_UINT_FAST8( H5T_NATIVE_UINT_FAST8 );
const PredType PredType::MIPS_I8( E_MIPS_I8 );
const PredType PredType::MIPS_I16( E_MIPS_I16 );
const PredType PredType::MIPS_I32( E_MIPS_I32 );
const PredType PredType::MIPS_I64( E_MIPS_I64 );
const PredType PredType::MIPS_U8( E_MIPS_U8 );
const PredType PredType::MIPS_U16( E_MIPS_U16 );
const PredType PredType::MIPS_U32( E_MIPS_U32 );
const PredType PredType::MIPS_U64( E_MIPS_U64 );
const PredType PredType::MIPS_B8( E_MIPS_B8 );
const PredType PredType::MIPS_B16( E_MIPS_B16 );
const PredType PredType::MIPS_B32( E_MIPS_B32 );
const PredType PredType::MIPS_B64( E_MIPS_B64 );
const PredType PredType::MIPS_F32( E_MIPS_F32 );
const PredType PredType::MIPS_F64( E_MIPS_F64 );
const PredType PredType::NATIVE_INT16( H5T_NATIVE_INT16 );
const PredType PredType::NATIVE_UINT16( H5T_NATIVE_UINT16 );
const PredType PredType::NATIVE_INT_LEAST16( H5T_NATIVE_INT_LEAST16 );
const PredType PredType::NATIVE_UINT_LEAST16( H5T_NATIVE_UINT_LEAST16 );
const PredType PredType::NATIVE_INT_FAST16( H5T_NATIVE_INT_FAST16 );
const PredType PredType::NATIVE_UINT_FAST16( H5T_NATIVE_UINT_FAST16 );
const PredType PredType::NATIVE_CHAR( E_NATIVE_CHAR );
const PredType PredType::NATIVE_INT( E_NATIVE_INT );
const PredType PredType::NATIVE_FLOAT( E_NATIVE_FLOAT );
const PredType PredType::NATIVE_SCHAR( E_NATIVE_SCHAR );
const PredType PredType::NATIVE_UCHAR( E_NATIVE_UCHAR );
const PredType PredType::NATIVE_SHORT( E_NATIVE_SHORT );
const PredType PredType::NATIVE_USHORT( E_NATIVE_USHORT );
const PredType PredType::NATIVE_UINT( E_NATIVE_UINT );
const PredType PredType::NATIVE_LONG( E_NATIVE_LONG );
const PredType PredType::NATIVE_ULONG( E_NATIVE_ULONG );
const PredType PredType::NATIVE_LLONG( E_NATIVE_LLONG );
const PredType PredType::NATIVE_ULLONG( E_NATIVE_ULLONG );
const PredType PredType::NATIVE_DOUBLE( E_NATIVE_DOUBLE );
const PredType PredType::NATIVE_LDOUBLE( E_NATIVE_LDOUBLE );
const PredType PredType::NATIVE_B8( E_NATIVE_B8 );
const PredType PredType::NATIVE_B16( E_NATIVE_B16 );
const PredType PredType::NATIVE_B32( E_NATIVE_B32 );
const PredType PredType::NATIVE_B64( E_NATIVE_B64 );
const PredType PredType::NATIVE_OPAQUE( E_NATIVE_OPAQUE );
const PredType PredType::NATIVE_HSIZE( E_NATIVE_HSIZE );
const PredType PredType::NATIVE_HSSIZE( E_NATIVE_HSSIZE );
const PredType PredType::NATIVE_HERR( E_NATIVE_HERR );
const PredType PredType::NATIVE_HBOOL( E_NATIVE_HBOOL );
const PredType PredType::NATIVE_INT32( H5T_NATIVE_INT32 );
const PredType PredType::NATIVE_UINT32( H5T_NATIVE_UINT32 );
const PredType PredType::NATIVE_INT_LEAST32( H5T_NATIVE_INT_LEAST32 );
const PredType PredType::NATIVE_UINT_LEAST32( H5T_NATIVE_UINT_LEAST32 );
const PredType PredType::NATIVE_INT_FAST32( H5T_NATIVE_INT_FAST32 );
const PredType PredType::NATIVE_UINT_FAST32( H5T_NATIVE_UINT_FAST32 );
const PredType PredType::NATIVE_INT8( E_NATIVE_INT8 );
const PredType PredType::NATIVE_UINT8( E_NATIVE_UINT8 );
const PredType PredType::NATIVE_INT_LEAST8( E_NATIVE_INT_LEAST8 );
const PredType PredType::NATIVE_UINT_LEAST8( E_NATIVE_UINT_LEAST8 );
const PredType PredType::NATIVE_INT_FAST8( E_NATIVE_INT_FAST8 );
const PredType PredType::NATIVE_UINT_FAST8( E_NATIVE_UINT_FAST8 );
const PredType PredType::NATIVE_INT64( H5T_NATIVE_INT64 );
const PredType PredType::NATIVE_UINT64( H5T_NATIVE_UINT64 );
const PredType PredType::NATIVE_INT_LEAST64( H5T_NATIVE_INT_LEAST64 );
const PredType PredType::NATIVE_UINT_LEAST64( H5T_NATIVE_UINT_LEAST64 );
const PredType PredType::NATIVE_INT_FAST64( H5T_NATIVE_INT_FAST64 );
const PredType PredType::NATIVE_UINT_FAST64( H5T_NATIVE_UINT_FAST64 );
const PredType PredType::NATIVE_INT16( E_NATIVE_INT16 );
const PredType PredType::NATIVE_UINT16( E_NATIVE_UINT16 );
const PredType PredType::NATIVE_INT_LEAST16( E_NATIVE_INT_LEAST16 );
const PredType PredType::NATIVE_UINT_LEAST16( E_NATIVE_UINT_LEAST16 );
const PredType PredType::NATIVE_INT_FAST16( E_NATIVE_INT_FAST16 );
const PredType PredType::NATIVE_UINT_FAST16( E_NATIVE_UINT_FAST16 );
const PredType PredType::NATIVE_INT32( E_NATIVE_INT32 );
const PredType PredType::NATIVE_UINT32( E_NATIVE_UINT32 );
const PredType PredType::NATIVE_INT_LEAST32( E_NATIVE_INT_LEAST32 );
const PredType PredType::NATIVE_UINT_LEAST32( E_NATIVE_UINT_LEAST32 );
const PredType PredType::NATIVE_INT_FAST32( E_NATIVE_INT_FAST32 );
const PredType PredType::NATIVE_UINT_FAST32( E_NATIVE_UINT_FAST32 );
const PredType PredType::NATIVE_INT64( E_NATIVE_INT64 );
const PredType PredType::NATIVE_UINT64( E_NATIVE_UINT64 );
const PredType PredType::NATIVE_INT_LEAST64( E_NATIVE_INT_LEAST64 );
const PredType PredType::NATIVE_UINT_LEAST64( E_NATIVE_UINT_LEAST64 );
const PredType PredType::NATIVE_INT_FAST64( E_NATIVE_INT_FAST64 );
const PredType PredType::NATIVE_UINT_FAST64( E_NATIVE_UINT_FAST64 );
hid_t PredType::getId() const
{
switch( id ) {
case E_C_S1:
return( H5T_C_S1 );
case E_FORTRAN_S1:
return( H5T_FORTRAN_S1 );
case E_STD_I8BE:
return( H5T_STD_I8BE );
case E_STD_I8LE:
return( H5T_STD_I8LE );
case E_STD_I16BE:
return( H5T_STD_I16BE );
case E_STD_I16LE:
return( H5T_STD_I16LE );
case E_STD_I32BE:
return( H5T_STD_I32BE );
case E_STD_I32LE:
return( H5T_STD_I32LE );
case E_STD_I64BE:
return( H5T_STD_I64BE );
case E_STD_I64LE:
return( H5T_STD_I64LE );
case E_STD_U8BE:
return( H5T_STD_U8BE );
case E_STD_U8LE:
return( H5T_STD_U8LE );
case E_STD_U16BE:
return( H5T_STD_U16BE );
case E_STD_U16LE:
return( H5T_STD_U16LE );
case E_STD_U32BE:
return( H5T_STD_U32BE );
case E_STD_U32LE:
return( H5T_STD_U32LE );
case E_STD_U64BE:
return( H5T_STD_U64BE );
case E_STD_U64LE:
return( H5T_STD_U64LE );
case E_STD_B8BE:
return( H5T_STD_B8BE );
case E_STD_B8LE:
return( H5T_STD_B8LE );
case E_STD_B16BE:
return( H5T_STD_B16BE );
case E_STD_B16LE:
return( H5T_STD_B16LE );
case E_STD_B32BE:
return( H5T_STD_B32BE );
case E_STD_B32LE:
return( H5T_STD_B32LE );
case E_STD_B64BE:
return( H5T_STD_B64BE );
case E_STD_B64LE:
return( H5T_STD_B64LE );
case E_STD_REF_OBJ:
return( H5T_STD_REF_OBJ );
case E_STD_REF_DSETREG:
return( H5T_STD_REF_DSETREG );
case E_IEEE_F32BE:
return( H5T_IEEE_F32BE );
case E_IEEE_F32LE:
return( H5T_IEEE_F32LE );
case E_IEEE_F64BE:
return( H5T_IEEE_F64BE );
case E_IEEE_F64LE:
return( H5T_IEEE_F64LE );
case E_UNIX_D32BE:
return( H5T_UNIX_D32BE );
case E_UNIX_D32LE:
return( H5T_UNIX_D32LE );
case E_UNIX_D64BE:
return( H5T_UNIX_D64BE );
case E_UNIX_D64LE:
return( H5T_UNIX_D64LE );
case E_INTEL_I8:
return( H5T_INTEL_I8 );
case E_INTEL_I16:
return( H5T_INTEL_I16 );
case E_INTEL_I32:
return( H5T_INTEL_I32 );
case E_INTEL_I64:
return( H5T_INTEL_I64 );
case E_INTEL_U8:
return( H5T_INTEL_U8 );
case E_INTEL_U16:
return( H5T_INTEL_U16 );
case E_INTEL_U32:
return( H5T_INTEL_U32 );
case E_INTEL_U64:
return( H5T_INTEL_U64 );
case E_INTEL_B8:
return( H5T_INTEL_B8 );
case E_INTEL_B16:
return( H5T_INTEL_B16 );
case E_INTEL_B32:
return( H5T_INTEL_B32 );
case E_INTEL_B64:
return( H5T_INTEL_B64 );
case E_INTEL_F32:
return( H5T_INTEL_F32 );
case E_INTEL_F64:
return( H5T_INTEL_F64 );
case E_ALPHA_I8:
return( H5T_ALPHA_I8 );
case E_ALPHA_I16:
return( H5T_ALPHA_I16 );
case E_ALPHA_I32:
return( H5T_ALPHA_I32 );
case E_ALPHA_I64:
return( H5T_ALPHA_I64 );
case E_ALPHA_U8:
return( H5T_ALPHA_U8 );
case E_ALPHA_U16:
return( H5T_ALPHA_U16 );
case E_ALPHA_U32:
return( H5T_ALPHA_U32 );
case E_ALPHA_U64:
return( H5T_ALPHA_U64 );
case E_ALPHA_B8:
return( H5T_ALPHA_B8 );
case E_ALPHA_B16:
return( H5T_ALPHA_B16 );
case E_ALPHA_B32:
return( H5T_ALPHA_B32 );
case E_ALPHA_B64:
return( H5T_ALPHA_B64 );
case E_ALPHA_F32:
return( H5T_ALPHA_F32 );
case E_ALPHA_F64:
return( H5T_ALPHA_F64 );
case E_MIPS_I8:
return( H5T_MIPS_I8 );
case E_MIPS_I16:
return( H5T_MIPS_I16 );
case E_MIPS_I32:
return( H5T_MIPS_I32 );
case E_MIPS_I64:
return( H5T_MIPS_I64 );
case E_MIPS_U8:
return( H5T_MIPS_U8 );
case E_MIPS_U16:
return( H5T_MIPS_U16 );
case E_MIPS_U32:
return( H5T_MIPS_U32 );
case E_MIPS_U64:
return( H5T_MIPS_U64 );
case E_MIPS_B8:
return( H5T_MIPS_B8 );
case E_MIPS_B16:
return( H5T_MIPS_B16 );
case E_MIPS_B32:
return( H5T_MIPS_B32 );
case E_MIPS_B64:
return( H5T_MIPS_B64 );
case E_MIPS_F32:
return( H5T_MIPS_F32 );
case E_MIPS_F64:
return( H5T_MIPS_F64 );
case E_NATIVE_CHAR:
return( H5T_NATIVE_CHAR );
case E_NATIVE_INT:
return( H5T_NATIVE_INT );
case E_NATIVE_FLOAT:
return( H5T_NATIVE_FLOAT );
case E_NATIVE_SCHAR:
return( H5T_NATIVE_SCHAR );
case E_NATIVE_UCHAR:
return( H5T_NATIVE_UCHAR );
case E_NATIVE_SHORT:
return( H5T_NATIVE_SHORT );
case E_NATIVE_USHORT:
return( H5T_NATIVE_USHORT );
case E_NATIVE_UINT:
return( H5T_NATIVE_UINT );
case E_NATIVE_LONG:
return( H5T_NATIVE_LONG );
case E_NATIVE_ULONG:
return( H5T_NATIVE_ULONG );
case E_NATIVE_LLONG:
return( H5T_NATIVE_LLONG );
case E_NATIVE_ULLONG:
return( H5T_NATIVE_ULLONG );
case E_NATIVE_DOUBLE:
return( H5T_NATIVE_DOUBLE );
case E_NATIVE_LDOUBLE:
return( H5T_NATIVE_LDOUBLE );
case E_NATIVE_B8:
return( H5T_NATIVE_B8 );
case E_NATIVE_B16:
return( H5T_NATIVE_B16 );
case E_NATIVE_B32:
return( H5T_NATIVE_B32 );
case E_NATIVE_B64:
return( H5T_NATIVE_B64 );
case E_NATIVE_OPAQUE:
return( H5T_NATIVE_OPAQUE );
case E_NATIVE_HSIZE:
return( H5T_NATIVE_HSIZE );
case E_NATIVE_HSSIZE:
return( H5T_NATIVE_HSSIZE );
case E_NATIVE_HERR:
return( H5T_NATIVE_HERR );
case E_NATIVE_HBOOL:
return( H5T_NATIVE_HBOOL );
case E_NATIVE_INT8:
return( H5T_NATIVE_INT8 );
case E_NATIVE_UINT8:
return( H5T_NATIVE_UINT8 );
case E_NATIVE_INT_LEAST8:
return( H5T_NATIVE_INT_LEAST8 );
case E_NATIVE_UINT_LEAST8:
return( H5T_NATIVE_UINT_LEAST8 );
case E_NATIVE_INT_FAST8:
return( H5T_NATIVE_INT_FAST8 );
case E_NATIVE_UINT_FAST8:
return( H5T_NATIVE_UINT_FAST8 );
case E_NATIVE_INT16:
return( H5T_NATIVE_INT16 );
case E_NATIVE_UINT16:
return( H5T_NATIVE_UINT16 );
case E_NATIVE_INT_LEAST16:
return( H5T_NATIVE_INT_LEAST16 );
case E_NATIVE_UINT_LEAST16:
return( H5T_NATIVE_UINT_LEAST16 );
case E_NATIVE_INT_FAST16:
return( H5T_NATIVE_INT_FAST16 );
case E_NATIVE_UINT_FAST16:
return( H5T_NATIVE_UINT_FAST16 );
case E_NATIVE_INT32:
return( H5T_NATIVE_INT32 );
case E_NATIVE_UINT32:
return( H5T_NATIVE_UINT32 );
case E_NATIVE_INT_LEAST32:
return( H5T_NATIVE_INT_LEAST32 );
case E_NATIVE_UINT_LEAST32:
return( H5T_NATIVE_UINT_LEAST32 );
case E_NATIVE_INT_FAST32:
return( H5T_NATIVE_INT_FAST32 );
case E_NATIVE_UINT_FAST32:
return( H5T_NATIVE_UINT_FAST32 );
case E_NATIVE_INT64:
return( H5T_NATIVE_INT64 );
case E_NATIVE_UINT64:
return( H5T_NATIVE_UINT64 );
case E_NATIVE_INT_LEAST64:
return( H5T_NATIVE_INT_LEAST64 );
case E_NATIVE_UINT_LEAST64:
return( H5T_NATIVE_UINT_LEAST64 );
case E_NATIVE_INT_FAST64:
return( H5T_NATIVE_INT_FAST64 );
case E_NATIVE_UINT_FAST64:
return( H5T_NATIVE_UINT_FAST64 );
default:
return( INVALID );
} // end switch
} // end of getId()
// These dummy functions do not inherit from DataType - they'll
// throw an DataTypeIException if invoked.
void PredType::commit( H5Object& loc, const char* name )
{
throw DataTypeIException( "Attempting to commit a predefined datatype. This operation is invalid" );
throw DataTypeIException("PredType::commit", "Attempting to commit a predefined datatype. This operation is invalid" );
}
void PredType::commit( H5Object& loc, const string& name )
@@ -181,8 +468,8 @@ void PredType::commit( H5Object& loc, const string& name )
bool PredType::committed()
{
throw DataTypeIException( "Error: Attempting to check for commit status on a predefined datatype." );
return (-1);
throw DataTypeIException("PredType::committed", "Error: Attempting to check for commit status on a predefined datatype." );
return (0);
}
// Default destructor

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
// PredType holds the definition of all the HDF5 predefined datatypes.
// These types can only be made copy of, not created by H5Tcreate or
// closed by H5Tclose. They are treated as constants.
@@ -10,7 +11,7 @@
namespace H5 {
#endif
class PredType : public AtomType {
class __DLLCPP__ PredType : public AtomType {
public:
// Default destructor
virtual ~PredType();
@@ -18,6 +19,7 @@ class PredType : public AtomType {
// Copy constructor - makes copy of the original object
PredType( const PredType& original );
virtual hid_t getId() const;
// Declaration of predefined types; their definition is in Predtype.C
static const PredType STD_I8BE;
@@ -166,7 +168,55 @@ class PredType : public AtomType {
private:
// added this to work around the atexit/global destructor problem
// temporarily - it'll prevent the use of atexit to clean up
static const PredType NotAtexit;
static const PredType NotAtexit; // not working yet
// This enum type is used by this class only to handle the
// global PredType objects. These values will ensure that the
// application receives an appropriate and uptodated id for an
// HDF5 predefined type; particularly usefull when the application
// closes and opens the library again.
enum predefined_types {
INVALID = 0, E_C_S1 = 1, E_FORTRAN_S1,
E_STD_I8BE, E_STD_I8LE, E_STD_I16BE, E_STD_I16LE, E_STD_I32BE,
E_STD_I32LE, E_STD_I64BE, E_STD_I64LE, E_STD_U8BE, E_STD_U8LE,
E_STD_U16BE, E_STD_U16LE, E_STD_U32BE, E_STD_U32LE, E_STD_U64BE,
E_STD_U64LE, E_STD_B8BE, E_STD_B8LE, E_STD_B16BE, E_STD_B16LE,
E_STD_B32BE, E_STD_B32LE, E_STD_B64BE, E_STD_B64LE, E_STD_REF_OBJ,
E_STD_REF_DSETREG,
E_IEEE_F32BE, E_IEEE_F32LE, E_IEEE_F64BE, E_IEEE_F64LE,
E_UNIX_D32BE, E_UNIX_D32LE, E_UNIX_D64BE, E_UNIX_D64LE,
E_INTEL_I8, E_INTEL_I16, E_INTEL_I32, E_INTEL_I64, E_INTEL_U8,
E_INTEL_U16, E_INTEL_U32, E_INTEL_U64, E_INTEL_B8, E_INTEL_B16,
E_INTEL_B32, E_INTEL_B64, E_INTEL_F32, E_INTEL_F64,
E_ALPHA_I8, E_ALPHA_I16, E_ALPHA_I32, E_ALPHA_I64, E_ALPHA_U8,
E_ALPHA_U16, E_ALPHA_U32, E_ALPHA_U64, E_ALPHA_B8, E_ALPHA_B16,
E_ALPHA_B32, E_ALPHA_B64, E_ALPHA_F32, E_ALPHA_F64,
E_MIPS_I8, E_MIPS_I16, E_MIPS_I32, E_MIPS_I64, E_MIPS_U8,
E_MIPS_U16, E_MIPS_U32, E_MIPS_U64, E_MIPS_B8, E_MIPS_B16,
E_MIPS_B32, E_MIPS_B64, E_MIPS_F32, E_MIPS_F64,
E_NATIVE_CHAR, E_NATIVE_INT, E_NATIVE_FLOAT, E_NATIVE_SCHAR,
E_NATIVE_UCHAR, E_NATIVE_SHORT, E_NATIVE_USHORT, E_NATIVE_UINT,
E_NATIVE_LONG, E_NATIVE_ULONG, E_NATIVE_LLONG, E_NATIVE_ULLONG,
E_NATIVE_DOUBLE, E_NATIVE_LDOUBLE, E_NATIVE_B8, E_NATIVE_B16,
E_NATIVE_B32, E_NATIVE_B64, E_NATIVE_OPAQUE, E_NATIVE_HSIZE,
E_NATIVE_HSSIZE, E_NATIVE_HERR, E_NATIVE_HBOOL, E_NATIVE_INT8,
E_NATIVE_UINT8, E_NATIVE_INT_LEAST8, E_NATIVE_UINT_LEAST8,
E_NATIVE_INT_FAST8, E_NATIVE_UINT_FAST8, E_NATIVE_INT16,
E_NATIVE_UINT16, E_NATIVE_INT_LEAST16, E_NATIVE_UINT_LEAST16,
E_NATIVE_INT_FAST16, E_NATIVE_UINT_FAST16, E_NATIVE_INT32,
E_NATIVE_UINT32, E_NATIVE_INT_LEAST32, E_NATIVE_UINT_LEAST32,
E_NATIVE_INT_FAST32, E_NATIVE_UINT_FAST32, E_NATIVE_INT64,
E_NATIVE_UINT64, E_NATIVE_INT_LEAST64, E_NATIVE_UINT_LEAST64,
E_NATIVE_INT_FAST64, E_NATIVE_UINT_FAST64
};
protected:
// Default constructor
@@ -174,6 +224,10 @@ class PredType : public AtomType {
// Creates a pre-defined type using an HDF5 pre-defined constant
PredType( const hid_t predtype_id ); // used by the library only
// Makes a copy of the predefined type and stores the new
// id in the left hand side object.
PredType& operator=( const PredType& rhs );
};
#ifndef H5_NO_NAMESPACE
}

View File

@@ -24,7 +24,7 @@ PropList::PropList( H5P_class_t type ) : IdComponent( 0 )
id = H5Pcreate(type );
if( id <= 0 )
{
throw PropListIException();
throw PropListIException("PropList constructor", "H5Pcreate failed");
}
}
@@ -46,7 +46,11 @@ void PropList::copy( const PropList& like_plist )
{
// reset the identifier of this PropList - send 'this' in so that
// H5Pclose can be called appropriately
resetIdComponent( this );
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw PropListIException("PropList::copy", close_error.getDetailMsg());
}
// call C routine to copy the property list
id = H5Pcopy( like_plist.getId() );
@@ -56,10 +60,18 @@ void PropList::copy( const PropList& like_plist )
if( id <= 0 )
{
throw PropListIException();
throw PropListIException("PropList::copy", "H5Pcopy failed");
}
}
// Makes a copy of the property list on the right hand side and stores
// the new id in the left hand side object.
PropList& PropList::operator=( const PropList& rhs )
{
copy(rhs);
return(*this);
}
// Closes the property list if it is not a default one
void PropList::p_close() const
{
@@ -68,7 +80,7 @@ void PropList::p_close() const
herr_t ret_value = H5Pclose( id );
if( ret_value < 0 )
{
throw PropListIException("PropList::p_close: unable to close the property list. Please report this bug to HDF." );
throw PropListIException(NULL, "H5Pclose failed" );
}
}
}
@@ -79,7 +91,8 @@ H5P_class_t PropList::getClass() const
H5P_class_t plist_class = H5Pget_class( id );
if( plist_class == H5P_NO_CLASS )
{
throw PropListIException();
throw PropListIException("PropList::getClass",
"H5Pget_class failed - returned H5P_NO_CLASS");
}
return( plist_class );
}
@@ -89,7 +102,11 @@ H5P_class_t PropList::getClass() const
PropList::~PropList()
{
// The property list id will be closed properly
resetIdComponent( this );
try {
resetIdComponent( this ); }
catch (Exception close_error) { // thrown by p_close
throw PropListIException("PropList::~PropList", close_error.getDetailMsg());
}
}
#ifndef H5_NO_NAMESPACE

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5PropList_H
#define _H5PropList_H
@@ -5,7 +6,7 @@
namespace H5 {
#endif
class PropList : public IdComponent {
class __DLLCPP__ PropList : public IdComponent {
public:
// Default property list
static const PropList DEFAULT;
@@ -24,11 +25,7 @@ class PropList : public IdComponent {
void copy( const PropList& like_plist );
// Make a copy of the given property list using assignment statement
//PropList& operator=( const PropList& rhs );
// Sets and gets PropList's data member
//hid_t getId () const;
//void setId( hid_t new_plist_id );
PropList& operator=( const PropList& rhs );
// Gets the class of this property list, i.e. H5P_FILE_CREATE,
// H5P_FILE_ACCESS, ...

View File

@@ -1,8 +1,8 @@
#include "H5Include.h"
#include "H5RefCounter.h"
#ifndef H5_NO_NAMESPACE
namespace H5 {
using namespace std;
#endif
// Creates a reference counter to be used by an HDF5 object

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5RefCounter_H
#define _H5RefCounter_H
@@ -21,7 +22,7 @@ const bool true = 1;
#endif
class RefCounter {
class __DLLCPP__ RefCounter {
public:
// Creates a reference counter to be used by an HDF5 object
RefCounter();

View File

@@ -35,7 +35,7 @@ StrType::StrType( const hid_t existing_id ) : AtomType( existing_id ) {}
// Copy constructor: makes copy of the original StrType object
StrType::StrType( const StrType& original ) : AtomType ( original ) {}
// Gets the string datatype of the specified dataset - will reimplement
// Gets the string datatype of the specified dataset - will reimplement - BMR
StrType::StrType( const DataSet& dataset ) : AtomType ()
{
// Calls C function H5Dget_type to get the id of the datatype
@@ -43,7 +43,7 @@ StrType::StrType( const DataSet& dataset ) : AtomType ()
if( id <= 0 )
{
throw DataSetIException();
throw DataSetIException("StrType constructor", "H5Dget_type failed");
}
}
@@ -55,7 +55,7 @@ H5T_cset_t StrType::getCset() const
// Returns a valid character set type if successful
if( cset == H5T_CSET_ERROR )
{
throw DataTypeIException();
throw DataTypeIException("StrType::getCset", "H5Tget_cset failed");
}
return( cset );
}
@@ -67,7 +67,7 @@ void StrType::setCset( H5T_cset_t cset ) const
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("StrType::setCset", "H5Tset_cset failed");
}
}
@@ -79,7 +79,8 @@ H5T_str_t StrType::getStrpad() const
// Returns a valid string padding type if successful
if( strpad == H5T_STR_ERROR )
{
throw DataTypeIException();
throw DataTypeIException("StrType::getStrpad",
"H5Tget_strpad failed - returned H5T_STR_ERROR");
}
return( strpad );
}
@@ -91,7 +92,7 @@ void StrType::setStrpad( H5T_str_t strpad ) const
if( ret_value < 0 )
{
throw DataTypeIException();
throw DataTypeIException("StrType::setStrpad", "H5Tset_strpad failed");
}
}

View File

@@ -1,3 +1,4 @@
// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5StrType_H
#define _H5StrType_H
@@ -5,7 +6,7 @@
namespace H5 {
#endif
class StrType : public AtomType {
class __DLLCPP__ StrType : public AtomType {
public:
// default constructor
StrType();

View File

@@ -29,7 +29,13 @@ LIB_SRC=H5Exception.cpp H5RefCounter.cpp H5IdComponent.cpp H5Library.cpp \
H5CompType.cpp H5DataSet.cpp H5CommonFG.cpp H5Group.cpp H5File.cpp
LIB_OBJ=$(LIB_SRC:.cpp=.lo)
PUB_HDR=H5Cpp.h
PUB_HDR=H5Cpp.h H5AbstractDs.h H5Alltypes.h H5AtomType.h H5Attribute.h \
H5Classes.h H5CommonFG.h H5CompType.h H5DataSet.h \
H5DataSpace.h H5DataType.h H5DcreatProp.h H5DxferProp.h \
H5EnumType.h H5Exception.h H5FaccProp.h H5FcreatProp.h \
H5File.h H5FloatType.h H5Group.h H5IdComponent.h \
H5Idtemplates.h H5Include.h H5IntType.h H5Library.h H5Object.h \
H5PredType.h H5PropList.h H5RefCounter.h H5StrType.h
ARFLAGS=rs

View File

@@ -0,0 +1,3 @@
## This file is machine generated on GNU systems.
## Only temporary changes may be made here.

View File

@@ -14,26 +14,38 @@ hdf5_builddir=$(top_builddir)/src
## Add include directory to the C preprocessor flags and the h5test and hdf5
## libraries to the library list.
LT_LINK_LIB=$(LT) --mode=link $(CXX) -rpath $(libdir)
LIB=../src/libhdf5_cpp.la
CPPFLAGS=-I. -I../src -I$(srcdir)/../src -I$(hdf5_builddir) -I$(hdf5_srcdir) @CPPFLAGS@
HDF5LIB=$(hdf5_builddir)/libhdf5.la
CPPFLAGS=-I. -I../src -I$(srcdir)/../src -I$(top_srcdir)/test -I$(hdf5_builddir) -I$(hdf5_srcdir) @CPPFLAGS@
## These are our main targets. They should be listed in the order to be
## executed, generally most specific tests to least specific tests.
RUNTEST=$(LT_RUN)
TEST_PROGS_SRC=
TEST_PROGS=
## Add include directory to the C preprocessor flags and the h5test and hdf5
## libraries to the library list.
LT_LINK_LIB=$(LT) --mode=link $(CXX) -rpath $(libdir)
LIB=../src/libhdf5_cpp.la
LIBHDF5=$(hdf5_builddir)/libhdf5.la
TEST_SRC=
## These are our main targets. They should be listed in the order to be
## executed, generally most specific tests to least specific tests.
RUNTEST=$(LT_RUN)
TEST_SRC=dsets.cpp testhdf5.cpp tfile.cpp th5s.cpp
TEST_OBJ=$(TEST_SRC:.cpp=.lo)
TEST_PROGS=dsets testhdf5
TESTHDF5_OBJ=testhdf5.lo tfile.lo th5s.lo
TEST_SCRIPTS=
DISTCLEAN=$(TEST_PROGS_SRC:.cpp=.lo) $(TEST_PROGS_SRC:.cpp=.o) *.h5
DISTCLEAN=$(TEST_PROGS_SRC:.cpp=.lo) $(TEST_PROGS_SRC:.cpp=.o)
$(TEST_PROGS): $(LIB)
@echo No C++ test as of yet.
$(TEST_PROGS): $(LIB) $(LIBHDF5)
testhdf5: $(TEST_OBJ)
@$(LT_LINK_EXE) $(CFLAGS) -o $@ $(TESTHDF5_OBJ) $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
dsets: dsets.lo
@$(LT_LINK_EXE) $(CFLAGS) -o $@ dsets.lo $(hdf5_builddir)/../test/h5test.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
@CONCLUDE@

1076
c++/test/dsets.cpp Normal file

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More