Commit Graph

405 Commits

Author SHA1 Message Date
Binh-Minh Ribler
9b6f4d4937 Adding new C++ wrappers
Description:
    Added wrappers for H5Tencode to class DataType and H5Tdecode to
    classes DataType and its subclasses.

        // Creates a binary object description of this datatype.
        void DataType::encode()

        // Returns the decoded type from the binary object description.
        virtual DataType* DataType::decode() const;
        virtual DataType* ArrayType::decode() const;
        virtual DataType* CompType::decode() const;
        virtual DataType* DataType::decode() const;
        virtual DataType* EnumType::decode() const;
        virtual DataType* FloatType::decode() const;
        virtual DataType* IntType::decode() const;
        virtual DataType* StrType::decode() const;
        virtual DataType* VarLenType::decode() const;

Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2017-09-04 00:41:47 -05:00
Larry Knox
89fbe00dec Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '54957d37f5aa73912763dbb6e308555e863c43f4':
  Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes.
  Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh.
  Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1
  Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
2017-04-25 16:05:36 -05:00
Binh-Minh Ribler
44626957a6 Description:
Fixed typos and missing items in function headers, that were revealed
    by Doxygen, and revised various comments.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2017-03-20 21:56:50 -05:00
Binh-Minh Ribler
b6cb20d608 Description:
Removed "#ifndef H5_NO_DEPRECATED_SYMBOLS" in file space tests,
    because the wrappers only use the latest functions now.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2017-03-19 22:57:47 -05:00
Binh-Minh Ribler
34731511da Purpose: Add new C++ wrappers
Description:
    Because H5Pset_file_space and H5Pget_file_space are deprecated, changed
    to make wrappers for the new functions instead:
        H5Ps/get_file_space_strategy
        H5Ps/get_file_space_page_size

    New wrappers in FileCreatPropList:

        // Sets the strategy and the threshold value that the library will
        // will employ in managing file space.
        void setFileSpaceStrategy(H5F_fspace_strategy_t strategy, hbool_t persist, hsize_t threshold) const;

        // Returns the strategy that the library uses in managing file space.
        void getFileSpaceStrategy(H5F_fspace_strategy_t& strategy, hbool_t& persist, hsize_t& threshold) const;

        // Sets the file space page size for paged aggregation.
        void setFileSpacePagesize(hsize_t fsp_psize) const;

        // Returns the threshold value that the library uses in tracking free
        // space sections.
        hsize_t getFileSpacePagesize() const;

Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2017-03-18 23:40:37 -05:00
Binh-Minh Ribler
50ac3cd6ec Description:
Miscellaneous clean-up: format and comments
Platforms tested:
    Linux/64 (jelly)
    Darwin (osx1010test)
2017-03-17 11:03:18 -05:00
Binh-Minh Ribler
f7711df680 Merge pull request #334 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_cpp2:develop to develop
* commit '98090fe3b08a0ff85ae9bc93218a14017a6f37fe':
  Purpose: Add new C++ wrappers Description:     Added wrappers for H5Iis_valid, H5Ps/get_nlinks, H5Tget_create_plist,     H5Oopen, H5Oclose and H5Pset_virtual
2017-03-16 18:19:32 -05:00
Quincey Koziol
0313cbb91d Final merge of page buffering branch to develop 2017-03-13 21:30:37 -07:00
Binh-Minh Ribler
a48c9c4024 Purpose: Add new C++ wrappers
Description:
    Added wrappers for H5Iis_valid, H5Ps/get_nlinks, H5Tget_create_plist,
    H5Oopen, H5Oclose and H5Pset_virtual

        // Checks if the given ID is valid.
        static bool isValid(hid_t an_id);

        // Sets the number of soft or user-defined links that can be
        // traversed before a failure occurs.
        void setNumLinks(size_t nlinks) const;

        // Gets the number of soft or user-defined link traversals allowed
        size_t getNumLinks() const;

        // Returns a copy of the creation property list of a datatype.
        PropList getCreatePlist() const;

        // Opens an object within a group or a file, i.e., root group.
        hid_t getObjId(const char* name,...);
        hid_t getObjId(const H5std_string& name,...);

        // Closes an object opened by getObjId().
        void closeObjId(hid_t obj_id) const;

        // Maps elements of a virtual dataset to elements of the source dataset.
        void setVirtual(const DataSpace& vspace, const char *src_fname,...);
        void setVirtual(const DataSpace& vspace, const H5std_string src_fname,...);

Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2017-03-13 22:53:43 -05:00
Binh-Minh Ribler
8f5a1f43d0 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_bmr_cpp into develop 2017-03-03 08:50:04 -06:00
Binh-Minh Ribler
861a849530 Description:
Only format changes: mostly tabs vs. spaces
Platforms tested:
    Linux/64 (jelly) - very minor
2017-03-03 08:45:57 -06:00
Allen Byrne
2562ec3a4b Update CMake files and formatting 2017-03-01 14:47:53 -06:00
Binh-Minh Ribler
4fc97f2853 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_bmr_cpp into develop 2017-02-23 16:54:38 -06:00
Binh-Minh Ribler
d7c6fa00da Purpose: Add new C++ wrappers
Description:
    Added wrappers for H5Fget_info2, H5Inmembers, and H5Itype_exists

        // Gets general information about this file.
        void getFileInfo(H5F_info2_t& file_info) const;

        // Returns the number of members in a type.
        static hsize_t getNumMembers(H5I_type_t type);

        // Determines if an element type exists.
        static bool typeExists(H5I_type_t type);

Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (jelly)
    Darwin (osx1010test)
2017-02-23 16:53:16 -06:00
Dana Robinson
dca632bd96 Minor fix for duplicated H5Pclose() call in C++ tests. 2017-02-23 12:07:44 -05:00
Binh-Minh Ribler
40b13c7445 Purpose: Add new C++ wrappers
Description:
    Added wrappers for H5Pset_file_space and H5Pget_file_space

        // Sets the strategy and the threshold value that the library will
        // will employ in managing file space.
        void setFileSpace(H5F_file_space_type_t strategy, hsize_t threshold) const;

        // Returns the strategy that the library uses in managing file space.
        H5F_file_space_type_t getFileSpaceStrategy() const;

        // Returns the threshold value that the library uses in tracking free
        // space sections.
        hsize_t getFileSpaceThreshold() const;

Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (jelly)
    Darwin (osx1010test)
2017-02-15 09:01:05 -06:00
Allen Byrne
556ff06975 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'bd85e57904f1f943774bb99ea5e8b0d074db0edb':
  tools/test/h5diff/testh5diff.sh.in:          Add code to delete copies of test .h5 files copied from          tools/testfiles/vds to tools/test/h5diff/testfiles when running          "make check" for an in-source build.
2017-01-13 10:57:26 -06:00
lrknox
8452976de5 tools/test/h5diff/testh5diff.sh.in:
Add code to delete copies of test .h5 files copied from
         tools/testfiles/vds to tools/test/h5diff/testfiles when running
         "make check" for an in-source build.

    tools/test/misc/testh5repart.sh.in:
         Change the name of the temporary test directory from "testfiles"
         which is also used for 2 h5mkgrp test files under source control to
         "testrepart" to avoid deleting source controlled files when running
         "make check" in the source directory.

    Fix test scripts that remove source-controlled files during "make check" when run in-source.
    Fix test scripts that don't remove test files because they add files to test directories but don't remove them if the build directories are the same as the source directory.

    Fix any test source file or Makefile.am files for tests that leave data files are removed by neither "make check" nor "make distclean".
2017-01-12 22:20:11 -06:00
Allen Byrne
244faaa0d0 HDFFV-10094: upgrade cmake command conventions
Also converted tests to use macros
2017-01-11 14:02:34 -06:00
Allen Byrne
e1bcae8a6a Update cmake min version and cmake command convention 2017-01-10 17:10:03 -06:00
Binh-Minh Ribler
565aa10d8d Purpose: Add more tests
Description:
    Added more tests for the new constructors that replaced openXxxType()
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2017-01-03 07:53:54 -06:00
Binh-Minh Ribler
cd3bd5576f Purpose: Add new wrappers
Description:
    Added wrappers H5Location::exists() for H5Lexists.
    Added wrapper H5Object::objVersion() to return the header version
        of an HDF5 object.
    Added new class LinkAccPropList to be used by H5Location::exists()
    Added new exception: ObjHeaderIException for H5Object::objVersion()
    Rearranged source files in Makefile.am
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-12-28 08:44:01 -06:00
Binh-Minh Ribler
798cdad29a Purpose: Improvement for HDFFV-10004
Description:
    When adding wrappers for H5Lexists, a new class, LinkAccPropList, was
    added to the C++ API, triggered complicated circular dependencies.  Thus,
    some improvement was made to resolve the problems.
    - Replaced existing functions openXxxType with individual type constructors
      + Added individual XxxType constructors to replace the existing functions
        openXxxType because it's rather awkward to use these functions.
      + Moved openXxxType from H5Location back to CommonFG
      + Put back CommonFG as a baseclass of Group for openXxxType functions.
      + This replacement should improve usability and prevent the problem of
        circular dependencies.
    - Removed overloaded constructor that takes an Attribute when there is
        already one that takes H5Location because Attribute inherits from
        H5Location now.
Platforms tested:
    Linux/32 2.6 (jam)
    Darwin (osx1010test)
    Linux/64 (platypus)
2016-12-19 00:34:18 -06:00
Quincey Koziol
64a339183f Bring SWMR support in to the main development branch. (Finally!) More tests
and the tool and API wrappers will be coming in over the weekend.
2016-12-02 08:07:04 -08:00
Binh-Minh Ribler
a903cbafa8 Description:
Removed obsolet macros from C++ API:
	H5_NO_NAMESPACE, H5_NO_STD, __cplusplus
    Leave OLD_HEADER_FILENAME because iostream.h might still be in use,
    until further checking is done.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
    Jelly
2016-10-19 15:50:17 -05:00
Binh-Minh Ribler
3c0afffb9d Purpose: Fix bug HDFFR-9920 cont.
Description:
    Added new test file titerate.cpp.
2016-10-11 00:14:25 -05:00
Binh-Minh Ribler
7ef33fa7b3 Purpose: Fix bug HDFFR-9920 cont.
Description:
    Adding user's test revealed a flaw in the fix.
    Moved CommonFG's functions in Group to H5Location, so that they
    could be called by objects that can be used to specify a location
    Also, rearranged many "#include" header files to resolve conflicts.

Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-09-21 14:53:17 -05:00
Binh-Minh Ribler
478f771243 Purpose: Code cleanup
Description:
    - Used FP_EPSILON in comparing float values to verify read data
    - Casted C macro to fix mismatched types in verify_val calls
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-09-01 22:14:22 -05:00
Allen Byrne
9842d2ae5f Add VFD name to test folder 2016-09-01 11:08:18 -05:00
Binh-Minh Ribler
c78f1ec882 [svn-r30309] Purpose: Fix bug HDFFR-9920
Description:
    Rearranged the classes to model the relationship of HDF5 objects more
    accurately.  The changes included:
    - moved CommonFG's methods to Group
    - removed CommonFG from Group's base class list
    - removed CommonFG from H5File's base class list and changed
      "public H5Location" to "public Group" in the base class list
    - CommonFG became unused
    - result of the modified partial class diagram:

                                IdComponent
                                     |
                                H5Location
                                /
                        H5Object
                           |
                        /  /  \
                DadaType Group DataSet
                          |
                        H5File
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-08-19 23:34:26 -05:00
Allen Byrne
e55844b752 [svn-r30237] HDFFV-9939: Change cmake commands to reduce POST_BUILD custom commands. Fixes possible overruns on windows command lines. 2016-08-01 12:35:00 -05:00
Quincey Koziol
d3b724f86a [svn-r30201] Description:
Switch test framework to dynamically allocate the testing array, and
expand the length of the description field.

Tested on:
    MacOSX/64 10.11.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2016-07-18 17:36:44 -05:00
Allen Byrne
74f3326a67 [svn-r29862] Convert source list names from *_SRCS to *_SOURCES.
Add/convert most tools to use new HDF5_TOOLS_DIR instead of HDF5_TOOLS_SRC_DIR CMake VAR.
2016-05-04 10:06:05 -05:00
Binh-Minh Ribler
0d5910683d [svn-r29786] Purpose: Add new wrapper
Description:
    Added wrapper for H5Tset_nbit: void DSetCreatPropList::setNbit() const.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-04-25 01:09:46 -05:00
Binh-Minh Ribler
32bdd82cc8 [svn-r29782] Purpose: Code improvement
Description:
    - Removed ArrayType::rank and ArrayType::dimensions and modified the methods
      ArrayType::getArrayNDims and ArrayType::getArrayDims to always call the
      C functions to get the rank and dimensions.
    - Overloaded ArrayType::getArrayNDims and ArrayType::getArrayDims to provide
      const version and marked the non-const version deprecated.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-04-24 10:52:09 -05:00
Binh-Minh Ribler
997392079b [svn-r29766] Description:
- Changed object in catch statements to reference (left over from previous)

Platforms tested:
    Linux/32 2.6 (jam) (very minor)
2016-04-22 15:32:18 -05:00
Binh-Minh Ribler
c37607eb58 [svn-r29759] Purpose: Code improvements
Description:
    - Changed object in catch statements to reference
    - Replaced old-style casts or reinterpret_cast with static_cast
    - Removed unused name H5Library::need_cleanup
    - Removed Exception::printError from documentation
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-04-22 06:22:34 -05:00
Binh-Minh Ribler
20bfdeb2c1 [svn-r29361] Purpose: Correction
Description:
    Replaced static_cast with reinterpret_cast for "void *".
    Removed some commented-out old code.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-03-08 22:30:02 -05:00
Binh-Minh Ribler
116eed3ebd [svn-r29340] Purpose: Code cleanup
Description:
    - Removed many warnings:
        warning: use of old-style cast
        warning: enumeration value ‘H5D_VIRTUAL’ not handled in switch
        warning: comparison between signed and unsigned
      There are others of the same warnings and they will be taken care of
      in the next release.
    - Made some code reuse between overloads
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-03-08 07:23:54 -05:00
Binh-Minh Ribler
b346cb0599 [svn-r29306] Purpose: Add function
Description:
    Added member function ArrayType::operator= because ArrayType has
    pointer data members.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-03-07 10:42:30 -05:00
Binh-Minh Ribler
a7ef06d593 [svn-r28906] Description:
Added c++/test/tarray.cpp.
2016-01-15 10:57:00 -05:00
Binh-Minh Ribler
0d68aa89ce [svn-r28905] Purpose: Fix user reported problem
Description:
    User Adam Rosenberger reported a failure when using the member function
    AbstractDs::getArrayType().  This problem was caused by missing
    initialization of the ArrayType's members in some cases.
Solution:
    - Added ArrayType::setArrayInfo() to retrieve rank and dimensions of
      an array and store them in memory for easy access.
    - Re-factored a few functions to use the new function.
    - We'll give him 1.8.16 patch
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-01-15 10:53:33 -05:00
Jerome Soumagne
2094d86461 [svn-r28138] Add first support for _Bool and make hbool_t a "real" _Bool if available
Fix tests accordingly and fix misuse of hbool_t in various places

Fix initialization of H5Pgcpl/ocpl structs in property decoding routines

Tested on:
    Linux/32 (jam)
    Linux/64 (platypus)
    Linux/PPC64 (ostrich)
    MacOSX/64 10.11
2015-10-20 01:28:17 -05:00
Binh-Minh Ribler
f17eb1e610 [svn-r27961] Purpose: Partial fix of issues HDFFV-9169 and HDFFV-9167
Description:
    Added wrappers for H5P[s/g]et_attr_phase_change and H5P[s/g]et_attr_creation_order

    // Sets attribute storage phase change thresholds.
    void setAttrPhaseChange(unsigned max_compact = 8, unsigned min_dense = 6)

    // Gets attribute storage phase change thresholds.
    void getAttrPhaseChange(unsigned& max_compact, unsigned& min_dense)

    // Sets tracking and indexing of attribute creation order.
    void setAttrCrtOrder(unsigned crt_order_flags)

    // Gets tracking and indexing settings for attribute creation order.
    unsigned getAttrCrtOrder()

Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2015-10-05 23:31:58 -05:00
Dana Robinson
9af344117c [svn-r27794] Reintegration merge of features/autotools_rework branch with trunk
NOTES:

- Developers will have to run autogen.sh before building with the autotools.

- autogen.sh takes the -p option to mimic the old bin/reconfigure behavior.

- The generated error, overflow and version headers have been left in place.

- The generated H5LT parser code has also been left in place.

- There are no changes for CMake users at this time.

Tested on: h5committest
2015-09-15 15:38:57 -05:00
Quincey Koziol
1023374492 [svn-r27768] Description:
Complete revamp of package initialization/shutdown mechanism in the library.
Each package now has a single init/term routine.

    This new way should avoid packages being re-initialized during library
shutdown and is also be _much_ more proactive about giving feedback for
resource leaks internal to the library.

    Introduces a new "module" header file for packages in the library
(e.g src/H5Fmodule.h) which sets up some necessary package configuration macros
for the FUNC_ENTER/LEAVE macros.  (The VFL drivers have their own slightly
modified version of this header, src/H5FDdrvr_module.h)

    Also cleaned up a bunch of resources leaks all across the library and tests,
along with addressing many warnings, as I encountered them.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    Linux/64 3.10.x (kituo) w/serial & parallel
    Linux/64 2.6.x (ostrich) w/serial
2015-09-13 22:58:59 -05:00
Dana Robinson
59aa015d9f [svn-r27638] Merged r27500-27631 from trunk. 2015-08-31 23:36:17 -05:00
Scot Breitenfeld
e6f9fc5f7f [svn-r27625] Added preprocessor commands for PGI compiler.
tested: h5committest
2015-08-31 13:49:17 -05:00
Dana Robinson
2e6100fb23 [svn-r27572] Removed VMS-specific code from the library.
The only remaining code consists of a few floating-point tests
that rely on pre-generated and checked-in VMS files. These have
been left alone, even though they will not be possible to
recreate, since testing VMS float behavior is still important.

Tested on: h5committest
2015-08-24 15:19:39 -05:00
Scot Breitenfeld
d06fee7bd2 [svn-r27517] Removed all perl scripts from configure.
Tested: h5committest
2015-08-17 16:12:03 -05:00