summaryrefslogtreecommitdiffstats
path: root/src/H5Sselect.c
Commit message (Collapse)AuthorAgeFilesLines
* Fixed more warnings about extra semicolons (#3249)Sean McBride2023-07-181-11/+11
| | | | | | | * Require semi-colon after H5_CHECK_OVERFLOW calls Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Remove HD from HDmem* calls (#3211)Dana Robinson2023-06-291-3/+3
|
* Remove programmer/date from comments (#3210)Dana Robinson2023-06-291-18/+0
| | | | * Removes Programmer: and Date: fields * Fixes a few Modifications: fields leftover from previous work
* Remove some "Programmer" comments (#3209)Dana Robinson2023-06-291-3/+1
| | | | | | | | | | These are meaningless noise. Removes the "Programmer" lines on comment start lines: /* Programmer: John Smith These complicate my sed script that will rip out the rest of the comments.
* Rename HDassert() to assert() (#3191)Dana Robinson2023-06-281-97/+97
| | | | | * Change HDassert to assert * Fix bin/make_err
* Prevent buffer overrun in H5S_select_deserialize (#2931)mattjala2023-05-121-8/+11
| | | | | | | | | | | | | | | | | | | | | * Prevent buffer overrun in H5S_select_deserialize The call to H5S_select_deserialize from H5S_decode doesn't have the buffer size available to it, so to allow decoding there I set it to assume a max size buffer for now. Making the buffer size known in H5S_decode could be done by modifying the external API's H5Sdecode, or splitting H5Sdecode into two functions using a macro (similar to H5Sencode), with the macro taking one argument and assuming a max buffer size. * Conditional buffer check in H5S_select_deserialize Moved and renamed a macro for only checking buffer overflow when buffer size is known from H5Odtype.c to H5private.h, so it can be used throughout the library. Also silenced some build warnings about types.
* Implement selection I/O with type conversion (#2823)Neil Fortner2023-04-281-12/+89
| | | | | Initial implementation of selection I/O with type conversion. Allows Parallel collective I/O with type conversion, as long as selection I/O is enabled.
* Remove dead code hidden behind #ifdef LATER (#2686)Dana Robinson2023-04-101-132/+0
|
* Update copyright headers (#2184)Larry Knox2022-11-011-1/+0
| | | | | * Updated source file copyright headers to remove "Copyright by the Board of Trustees of the University of Illinois", which is kept in the top-level COPYING file.
* Multi Dataset (#2120)Neil Fortner2022-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix bug with cross platform compatibility of references within vlens. No testing yet. * Merge from multi_rd_wd_coll_io to a more recent branch from develop. Untested, probably does not work yet. * Committing clang-format changes * Committing clang-format changes * Fix many bugs in multi dataset branch. Mostly works, some issues in SWMR tests. * Committing clang-format changes * Disable test in swmr.c that was failing due to bug in HDF5 unrelated to multi dataset. * Committing clang-format changes * Fixed fortran multi-dataset tests * Fixed xlf errors * Added benchmark code for multi-datasets * loops over datasets * added missing error arg. * Added gnuplot formatting * Jonathan Kim original MD benchmarking code * updated MD benchmarking code * code clean-up * Only make files in feature test mode * misc clean-up * removed TEST_MDSET_NO_LAST_DSET_2ND_PROC option * Committing clang-format changes * Change multi dataset API to use arrays of individual parameters instead of the parameter struct. * Committing clang-format changes * Update to new multi dataset Fortran API and tests. (#1724) * Update to new multi dataset Fortran API and tests. * Sync Fortran with develop. * skipping h5pget_mpio_actual_io_mode_f for now * Fixed issue with dxpl_id, changed to variable size dim. (#1770) * Remove "is_coll_broken" field from H5D_io_info_t struct * Committing clang-format changes * Minor cleanup in multi dataset code. * Committing clang-format changes * Clean up in multi dataset code. * Committing clang-format changes * Committing clang-format changes * Fix speeling * Fix bug in parallel compression. Switch base_maddr in io_info to be a union. * Committing clang-format changes * Implement selection I/O support with multi dataset. Will be broken in parallel until PR 1803 is merged to develop then the MDS branch. * Committing clang-format changes * Spelling * Fix bug in multi dataset that could cause errors when only some of the datasets in the multi dataset I/O used type conversion. * Committing clang-format changes * Integrate multi dataset APIs with VOL layer. Add async versions of multi dataset APIs. * Committing clang-format changes * Spelling fixes * Fix bug in non-parallel HDF5 compilation. * Committing clang-format changes * Fix potential memory/free list error. Minor performance fix. Other minor changes. * Committing clang-format changes * Fix memory leak with memory dataspace for I/O. * Committing clang-format changes * Fix stack variables too large. Rename H5D_dset_info_t to H5D_dset_io_info_t. * Committing clang-format changes * Remove mem_space_alloc field from H5D_dset_io_info_t. Each function is now responsible for freeing any spaces it adds to dset_info. * Committing clang-format changes * fixed _multi Fortran declaration * Refactor various things in (mostly) the serial I/O code path to make things more maintainable. * Committing clang-format changes * updated to array based, doxygen, and examples * Reinstate H5D_chunk_map_t, stored (via pointer) inside H5D_dset_io_info_t. * Change from calloc to malloc for H5D_dset_io_info_t and H5D_chunk_map_t. Switch temporary dset_infos to be local stack variables. * Committing clang-format changes * format cleanup * format cleanup * added coll and ind * Modify all parallel I/O paths to take dset_info instead of assuming dset_info[0]. * Committing clang-format changes * fixed output * Rework parallel I/O code to work properly with multi dataset in more cases. Fix bug in parallel compression. * Committing clang-format changes * Prevent H5D__multi_chunk_collective_io() from messing up collective opt property for other datasets in I/O. Other minor cleanup. Add new test case to t_pmulti_dset.c for H5FD_MPIO_INDIVIDUAL_IO, disabled for now due to failures apparently unrelated to multi dataset code. * Fix spelling * Committing clang-format changes * Replace N log N algorithm for finding chunk in H5D__multi_chunk_collective_io() with O(N) algorithm, and remove use of io_info->sel_pieces in that function. * Committing clang-format changes * Replace sel_pieces skiplist in io_info with flat array of pointers, use qsort in I/O routine only when necessary. * Committing clang-format changes * Add new test case to mdset.c * Committing clang-format changes * Fix spelling * Very minor fix in H5VL__native_dataset_read() * Fix bug that could affect filtered parallel multi-dataset I/O. * Add RM entries for H5Dread_multi(), H5Dread_multi_async(), H5Dwrite_multi(), and H5Dwrite_multi_async() * Unskip test in swmr.c * Committing clang-format changes * Eliminate H5D__pre_read and H5D__pre_write * Remove examples/ph5mdsettest.c. Will fix and re-add as a test. * Enable hyperslab combinations in mdset test * Committing clang-format changes * Clarify H5Dread/write_multi documentation. * Fix bugs in multi-dataset I/O. Expand serial multi dataset test. Update macro in parallel multi dataset test. * Committing clang-format changes * Spelling * Remove obsolete entry in bin/trace * Rework type conversion buffer allocation. Only one buffer is shared between datasets in mdset mode, and it is malloced instead of calloced. * Committing clang-format changes * Fix bug in error handling in H5D__read/write * added multi-dataset fortran check with optional dataset creation id (#2150) * removed dup. dll entry * Address comments from code review. * Remove spurious changes in H5Fmpi.c * Fix issue with reading unallocated datasets in multi-dataset mode. Address other comments from code review. * Committing clang-format changes * Delay chunk index lookup from io_init to mdio_init so it doesn't add overhead to single dataset I/O. * Committing clang-format changes * Fix inappropriate use of piece_count * updated copyright on new file, removed benchmark from testing dir. Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: M. Scot Breitenfeld <brtnfld@hdfgroup.org> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com>
* Fix typos found in src/ subdirectory (#1983)luzpaz2022-08-101-1/+1
| | | Found via `codespell -q 3 -S ./release_docs,./bin/trace,./hl/tools/h5watch/h5watch.c,./tools/test/h5jam/tellub.c -L isnt,inout,nd,parms,parm,ba,offsetP,ser,ois,had,fiter,fo,clude,refere,minnum,offsetp,creat,ans:,eiter,lastr,ans,isn\'t,ifset,sur,trun,dne,tthe,hda,filname,te,htmp,minnum,ake,gord,numer,ro,oce`
* Develop clang 13 format (#1933)Allen Byrne2022-07-261-15/+15
| | | | | * Update format source to clang 13 * More format changes
* Address some warnings from casting away of const (#1684)jhendersonHDF2022-04-261-34/+16
|
* Removes the STATIC flavor of FUNC_ENTER macros (#1622)Dana Robinson2022-04-081-3/+3
| | | | | * Removes the STATIC flavor of FUNC_ENTER macros
* Fixed Spelling Errors (#1166)Scot Breitenfeld2021-12-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fixed missed closing of a dataset * fixed missed closing of a dataset * fixed typo in error return * Committing clang-format changes * minor edits * code format * Committing clang-format changes * code format * minor edit * switched from using MPI_count, to actual bytes written for H5FD_mpio_debug rw debugging * Committing clang-format changes * changed size_i in printf to reflect the I/O. * Committing clang-format changes * Fixed seg fault with xlf on BE with -qintsize=8 * fixed error function string * spelling corrections via codespell, added new spell check github actions * Committing clang-format changes * misc * misc * misc * misc * misc * misc * misc * misc * misc * misc * misc * misc * misc * misc * Committing clang-format changes * misc * misc * misc * misc * misc * misc * Committing clang-format changes * misc * work around for https://github.com/codespell-project/codespell/issues/2137 * misc * added missing file * misc * misc. * misc * switch to using Codespell with GitHub Actions * misc. * misc. * fixed more sp errors * Fix new typos found by codespell. * fixed proceed with precede * fixed variable in fortran test * fixed minnum * updated spelling list Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
* Stop lying about H5S_t const-ness (#1209)Dana Robinson2021-11-201-15/+13
| | | | | | Hyperslabs can be reworked inside several H5S callbacks, making H5S_t non-const in some places where it is marked const. This change switches these incorrectly const H5S_t pointer parameters and variables to non-const where appropriate.
* Update license url (#332)Larry Knox2021-02-171-1/+1
| | | | | | * Modify temporary rpath for testing in java example scripts. * Update URL in source file Copyright headers for web copy of COPYING file - src and test directories.
* Expand ID dec_ref and close callbacks to allow for asynchronous close ↵Quincey Koziol2020-12-011-0/+31
| | | | | | | | | | | operations (#135) * Expand ID dec_ref and close callbacks to allow for asynchronous close operations. * Fix typo * Rename token -> request, remove programmer name * H5E_ATOM to H5E_ID
* Replace H5E_ATOM major error category with H5E_ID (#121)Dana Robinson2020-11-301-7/+7
| | | | | | | | | | * Renames H5I_ATOM to H5I_ID, among other related changes * Java has been updated. * Fortran is failing on my VM, even though I don't touch that. * Adds a RELEASE.txt note for H5E_ATOM to H5E_ID changes * Fixes typos in comments
* Enhance API tracing (#120)Quincey Koziol2020-11-261-5/+5
| | | Enhance API tracing to handle more types, and to put tracing info in a string, allowing it to be used when reporting errors. Also refactor ref-counted strings (H5RS) module to add capabilities needed for the tracing. Refactored H5Gname.c routines to use new H5RS routines also. Added /*out*/ tags to API routines that are returning information to the application. Updated H5TRACE macros from running updated trace script over library code. Added tests for new H5RS routines.
* Clang-format of source filesAllen Byrne2020-09-301-529/+501
|
* Free selection type-specific info when resetting selection iteratorsJordan Henderson2020-09-231-0/+4
|
* Add H5Ssel_iter_init API call to reset a selection iteratorJordan Henderson2020-09-181-0/+46
|
* Clean up private / package / static namespace issues (function naming, whichQuincey Koziol2020-08-061-19/+19
| | | | | | 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.
* Minor normalization with 1.10Dana Robinson2020-07-171-1/+1
|
* Minor changes from normalization with 1.10Dana Robinson2020-07-091-3/+4
|
* Detect when there's the same-shaped selection of a single block of elements onQuincey Koziol2020-06-051-0/+9
| | | | | | both selections, but with different selection types (i.e. one selection defined as an 'all' type and the other as a hyperslab or point type), without falling into the generic selection iteration case.
* Trim trailing whitespaceQuincey Koziol2020-04-201-1/+1
|
* Fixed stack and frame size warnings. Not complete, but fixes most ofDana Robinson2020-01-151-16/+24
| | | | the easier cases.
* address problems from commentskmu2019-12-111-2/+2
|
* Add support for scalar dataspaces to H5Sproject_intersection. AddNeil Fortner2019-12-021-86/+129
| | | | checking for ank validity.
* Merge pull request #2050 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:point_spi to ↵Neil Fortner2019-11-271-17/+113
|\ | | | | | | | | | | | | develop * commit 'ad2fbb022e096233444489e69b93343a4b7e9631': Add support for point selections to H5S_select_project_intersection.
| * Add support for point selections to H5S_select_project_intersection.Neil Fortner2019-11-271-17/+113
| |
* | Merge pull request #2045 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:select_adjust ↵Neil Fortner2019-11-261-18/+58
|\ \ | | | | | | | | | | | | | | | | | | | | | to develop * commit '4e12984b77cdd7615843d94f8de8d54db27476ac': Move checking for zero offset in selection adjust calls to the selection callbacks. This makes the procedure for checking it consistent across selection types and between _s and _u, ensures it is always is performed even when called within the H5S package, and removes the redundant check that would occur when callins H5S_select_adjust_s() from outside the H5S package. 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().
| * | Move checking for zero offset in selection adjust calls to the selection ↵Neil Fortner2019-11-181-24/+4
| | | | | | | | | | | | | | | | | | | | | callbacks. This makes the procedure for checking it consistent across selection types and between _s and _u, ensures it is always is performed even when called within the H5S package, and removes the redundant check that would occur when callins H5S_select_adjust_s() from outside the H5S package.
| * | Replace H5Sselect_adjust_u() and H5Shyper_adjust_s() withNeil Fortner2019-11-181-6/+66
| |/ | | | | | | | | H5Sselect_adjust. Implement "adjust_s" callback for all selection types. Add range checking to H5Sselect_adjust().
* | Modify H5Ssel_iter_get_seq_list() to accept iterators that have reachedNeil Fortner2019-11-151-1/+1
|/ | | | | the end of iteration (returning zero sequences). Previously it could cause an assertion failure.
* Implement public H5Sselect_project_intersection(). Updated internalNeil Fortner2019-11-131-5/+76
| | | | | | | | 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.
* Added public H5Sselect_adjust_u and H5Shyper_adjust_s calls.Dana Robinson2019-08-151-0/+39
|
* Fix return type for H5Sselect_intersect_block().Quincey Koziol2019-07-311-1/+1
|
* Updated H5TRACE macro.Quincey Koziol2019-07-301-0/+1
|
* Add H5Sselect_shape_same and H5Sselect_intersect_block API routines, alongQuincey Koziol2019-07-301-2/+166
| | | | with tests and minor cleanups and refactorings.
* Fix minor typo in H5S_select_iter_releaseJordan Henderson2019-06-191-1/+1
|
* Add H5S_SEL_ITER_SHARE_WITH_DATASPACE selection iterator creation flag, toQuincey Koziol2019-06-171-1/+2
| | | | | share dataspace's selection with iterator (and with caution about not modifying or closing the dataspace while the iterator is open).
* Fix misc. typos, etc. from code reviewQuincey Koziol2019-06-171-2/+2
|
* New hyperslab selection routines and new public selection iterator routines.Quincey Koziol2019-06-161-0/+216
|
* Refactor H5S__hyper_project_intersection to operate directly on spanNeil Fortner2019-06-011-4/+7
| | | | | trees, improving performance and removing the conditionn that the extents be equal.
* Merge remote-tracking branch 'origin/develop' into merge_hyperslab_update_01Quincey Koziol2019-04-061-63/+6
|\
| * Move dataspace selection-specific coding to the callbacks as preparation for ↵Vailin Choi2019-04-051-63/+6
| | | | | | | | the H5Sencode changes.
* | Merge remote-tracking branch 'origin/develop' into merge_hyperslab_update_01Quincey Koziol2019-03-171-10/+10
|\ \ | |/