Commit Graph

103 Commits

Author SHA1 Message Date
Quincey Koziol
ba087ce2b5 Clean up private / package / static namespace issues (function naming, which
header file, FUNC_ENTER / LEAVE, etc).  Removed remaining personal email
addresses from library source code (still needs cleaned from other directories).
Misc. warning, style, and whitespace cleanup.
2020-08-22 14:00:44 -05:00
Dana Robinson
1ae6daaa80 Sync with develop 2020-08-01 09:18:18 -07:00
Vailin Choi
3b2db5eb19 Merge pull request #2451 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/develop_seg_fault_sel_compat to develop
* commit '81b1ed4e1724b8a6a731ab2b8fb03234a8b49d15':
  Fix issues when deserializing point/all/none selection with version beyond the library's supported version: (1) Verify the decoded version before proceeding further with deserialization (2) Close the dataspace if errors occurred after opening the dataspace
2020-03-16 14:33:52 -05:00
Neil Fortner
975eea7940 Replace H5Sselect_adjust_u() and H5Shyper_adjust_s() with
H5Sselect_adjust.  Implement "adjust_s" callback for all selection
types.  Add range checking to H5Sselect_adjust().
2019-12-06 16:12:47 -06:00
Neil Fortner
33357092c4 Implement public H5Sselect_project_intersection(). Updated internal
algorithm to (optionally) avoid sharing selection data structures.
Tested internal code (including with valgrind) by setting VDS code to
avoid sharing selection, has since been changed to share selection for
performance, so this code is not yet tested in regression tests.  API
has not been tested.
2019-12-06 14:37:41 -06:00
Vailin Choi
f3686baaf0 Verify the decoded version for hyperslab selection. 2019-12-05 16:09:49 -06:00
Quincey Koziol
605889fde8 Add H5Sselect_shape_same and H5Sselect_intersect_block API routines, along
with tests and minor cleanups and refactorings.
2019-07-30 15:34:53 -05:00
Quincey Koziol
0525ee122f New hyperslab selection routines and new public selection iterator routines. 2019-06-15 21:25:28 -05:00
Quincey Koziol
08b009cc4a Merge remote-tracking branch 'origin/develop' into merge_hyperslab_update_01 2019-04-29 17:51:55 -05:00
Vailin Choi
2886cd9e45 HDFFV-10365: Changes as described in the RFC: H5Sencode/H5Sdecode Format Change.
This also addresses HDFFV-10255: H5Sencode/decode performance issue.
2019-04-06 16:55:14 -05:00
Quincey Koziol
92f30fd3d9 Merge remote-tracking branch 'origin/develop' into merge_hyperslab_update_01 2019-04-06 16:20:55 -05:00
Vailin Choi
4142d8b7d4 Move dataspace selection-specific coding to the callbacks as preparation for the H5Sencode changes. 2019-04-04 23:31:01 -05:00
Quincey Koziol
9d86314f8b Core changes to selection code from the hyperslab_updates branch. 2019-03-15 20:14:41 -05:00
Quincey Koziol
320eaf91b9 More changes to align with incoming selection improvements. 2019-02-14 16:20:32 -06:00
Quincey Koziol
b5305b25a6 Align develop with incoming hyperslab_updates branch changes. 2019-02-12 21:51:15 -06:00
Quincey Koziol
4729d04d91 Delta reduction against hyperslab_updates branch. 2019-01-10 23:08:51 -06:00
Dana Robinson
30cd579a14 H5S adjust callbacks now return an herr_t instead of void. 2018-09-24 08:35:13 -07:00
hdftest
b193bc11c9 Revert "Merge pull request #1116 in HDFFV/hdf5 from ~HDFTEST/hdf5_hft:hdf5_1_10 to develop"
This reverts commit e9f476dad4, reversing
changes made to 2ff00b1b93.
2018-06-24 18:04:23 -05:00
M. Scot Breitenfeld
b69bd0771e Merge branch 'develop' into hdf5_1_10.sync 2018-05-08 17:17:45 -05:00
Quincey Koziol
01f196b31a Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into merge_hyperslab_updates 2018-04-29 03:04:21 -05:00
Vailin Choi
83de2a580b Re-factor coding for H5P/Sencode with libver bounds. 2018-03-11 23:12:30 -05:00
M. Scot Breitenfeld
496af1be89 Needs to sync with lib version and Sencode. 2018-03-07 15:49:14 -06:00
Vailin Choi
e277d537d2 Fix for daily test failures
Move the declarations for the three arrays of versions from H5Opkg.h:
(1) H5O_layout_vers_bounds to H5Dpkg.h
(2) H5O_dtype_ver_bounds to H5Tpkg.h
(3) H5O_sdspace_ver_bounds to H5Spkg.h
This is to fix Windows' complaint for unresolved symbols.
2018-02-14 14:30:51 -06:00
Vailin Choi
3d84163ad3 Fix for HDFFV-9947 H5Sencode
Modifications to fix H5Sencode bug when num points selected is > 2^32.
2017-11-28 11:11:27 -06: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
lrknox
25ec07450a Change copyright headers to replace url referring to file to be removed
and replace it with new url for COPYING file.

Fix 2 lines in java error test expected output file where messages
include line numbers changed by reducing the copyright header by 2
lines.
2017-04-14 11:54:16 -05:00
Quincey Koziol
a77bf61074 Further minor cleanups 2017-03-27 22:48:41 -07:00
Quincey Koziol
8859a5a270 Checkpoint normalization against incoming hyperslab / selection / dataspace
improvements.
2017-03-27 20:25:06 -07:00
Quincey Koziol
0695d6366a [svn-r27835] Description:
Sync w/trunk.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-09-20 21:18:45 -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
Quincey Koziol
db8e289abe [svn-r27632] Description:
Revert changes to pass file pointer to selection serialize/deserialize
routines.  Also patch back in some changes that were merged out in the
previous merge w/trunk.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial
    (h5committest not required on this branch)
2015-08-31 16:58:15 -05:00
Neil Fortner
98f947ceae [svn-r27479] Add checking for invalid inputs to H5Dset_virtual: point selections, incorrect
numbers of elements selected, incorrect "slice" through limited dimensions,
incorrect number of printf substitutions.
Patch source selection space extent with bounds of selection if extent is
unknown before returning via H5Pget_virtual_srcspace.
Write updated VDS dataspace to file when it changes due to unlimited selections.
Other minor fixes/cleanup.

Tested: ummon
2015-08-07 11:15:39 -05:00
Neil Fortner
7cf40ce5e4 [svn-r27246] Remove "clipped" status from unlimited selections, decoupling them from the
extent.
Improve algorithm for calculation of VDS extent by removing the need for a
temporary copy of a dataspace.
Other minor fixes/cleanup.

Tested: ummon
2015-06-18 17:18:29 -05:00
Neil Fortner
c27904bc5f [svn-r27153] Implement fill value support for VDS.
Add testing for this.
Fix bug in printf string parsing.
Add test for this.
Other minor fixes/cleanup.

Tested: ummon
2015-06-05 16:55:24 -05:00
Neil Fortner
c1e74850e7 [svn-r26984] Add support for unlimited selection being clipped in the middle of a block.
Add tests for this (pure selection tests, needs testing with VDS).
Various bug fixes.

Tested: ummon
2015-04-30 12:29:25 -05:00
Neil Fortner
a9b2e36065 [svn-r26962] Add support for unlimited selections to VDS code.
Not tested (except for percival-unlim example)
Fix percival-unlim example
Other bug fixes/cleanup

Tested: Fedora 64
2015-04-28 22:22:55 -05:00
Neil Fortner
0a3151792f [svn-r26878] Fix errors in unlimited selection serialize/deserialize
Other minor fixes

Tested: jam
2015-04-21 17:42:33 -05:00
Neil Fortner
f53cfbe9d6 [svn-r26828] Implement support for unlimited selections (not supported by VDS code yet).
Add tests for unlimited selections.
Various other minor changes.

Tested: ummon
2015-04-16 15:57:26 -05:00
Neil Fortner
4cfe53284b [svn-r26476] Add support for I/O in all cases with fixed size datasets and no point
selections.
Add source dataspace extent patching (should allow closing the source file).
Note fill values and various other features are not yet supported.
Note there are still some code coverage assertions in the selection matching
algorithm - if you hit these try taking them out.
Note make check still fails in h5dump test (unrelated to this checkin).

Tested: ummon
2015-03-18 16:53:49 -05:00
Quincey Koziol
3550004b20 [svn-r26302] Description:
Revise dataspace encode/decode routines to make them work better with
future virtual dataset feature.

Tested on:
    Mac OSX/64 10.10.2 (amazon) w/serial
    (h5committest forthcoming)
2015-02-25 13:03:52 -05:00
Neil Fortner
2811133914 [svn-r26293] Implement patching of virtual dataspace extent in mapping dataspaces when
opening virtual dataset.  Add tests for this.

Tested: ummon
2015-02-24 14:54:48 -05:00
Neil Fortner
1199ab1f48 [svn-r26198] INCOMPLETE, UNWORKING CODE
Commit progress through 1610 CST 2/17/15
2015-02-17 16:11:22 -05:00
Neil Fortner
14200fef67 [svn-r26153] INCOMPLETE, UNWORKING CODE
Commit progress through 2/10/15 at 1500 CST
2015-02-10 14:58:09 -05:00
Quincey Koziol
89e2c8822d [svn-r25766] Description:
Revert r25273, 25283 & 25439 (the hyperslab improvement changes).  They
are buggy and it's taking me a long time to correct the problem.  I'll check
in a revised form of the changes when I've got them straightened out.

Tested on:
    Mac OSX 10.10.0 (amazon) w/gcc 4.9.x, C++, FORTRAN
    Linux 2.6.x (jam) w/parallel
2014-11-03 15:13:25 -05:00
Quincey Koziol
4ccb865c70 [svn-r25273] Description:
Bring in Chao/Neil/my changes to optimize hyperslab selection operations
further, along with 3 new public API routines: H5Scombine_hyperslab(),
H5Sselect_select() and H5Scombine_select(), along with many minor cleanups to
the code and fixing a few compiler warnings.

Tested on:
    Mac OSX/64 10.9.3 w/gcc 4.9.x and parallel w/OpenMPI
    (h5commttest forthcoming)
2014-06-13 01:23:57 -05:00
Quincey Koziol
f82774c0d5 [svn-r19092] Description:
Bring "shape same" changes from LBL branch to trunk.  These changes
allow shapes that are the same, but projected into dataspaces with different
ranks to be detected correctly, and also contains code to project a dataspace
into greater/lesser number of dimensions, so the I/O can proceed in a faster
way.

	These changes also contain several bug fixes and _lots_ of code
cleanups to the MPI datatype creation code.

	Many other misc. code cleanup are included as well...

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
        Mac OS X/32 10.6.3 (amazon) in debug mode
        Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2010-07-19 00:05:45 -05:00
Quincey Koziol
bdd7d59902 [svn-r15628] Description:
Remove trailing whitespace from C/C++ source files, with the following
script:

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

Tested on:
    Mac OS X/32 10.5.5 (amazon)
    No need for h5committest, just whitespace changes...
2008-09-16 10:52:51 -05:00
Quincey Koziol
74c005fdb2 [svn-r14326] Description:
- Keep skip list for tracking chunks with dataset (instead of creating/
        destroying it for each I/O operation) and just delete the skip list
        nodes.
    - Avoid computations for normalizing selection offset when offset not set.
    - Avoid updating object modification time twice during dataset creation.
    - Avoid updating dataset layout message (and object modification time)
        until dataset is closed.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2007-12-06 14:24:30 -05:00
Quincey Koziol
765f0159ff [svn-r14307] Description:
- Extracted common code from H5D_select_read/H5D_select_write into single
        routine (H5D_select_io) and made H5D_select_read/H5D_select_write
        "gateway" routines, passing I/O buffer to operate on in "op" struct.
    - Create optimized pathway in H5D_select_io for I/O operations on single
        elements.
    - Make "get linear offset of first element" callback for each type of
        selection (used in "optimized pathway", above)

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2007-11-29 13:44:07 -05:00
Quincey Koziol
3aa3af4fb6 [svn-r14278] Description:
- Remember # of elements in file selection, instead of querying more than
        once
    - Handle building chunk map for single element as special case

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2007-11-20 17:12:52 -05:00