summaryrefslogtreecommitdiffstats
path: root/src/H5Shyper.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r5921] Purpose:Quincey Koziol2002-09-111-5/+5
| | | | | | | | | | | | | | | | | Code cleanup Description: Two of the parameters to H5S_select_hyperslab are defined as "const hsize_t foo[]", and then "foo" is assigned another value, which is technically against the C standard and is now causing problems for a user with a more strict compiler. Solution: Changed "const hsize_t foo[]" to "const hsize_t *foo". Platforms tested: FreeBSD 4.6 (sleipnir) - not a significant enough change to worry about multi-platform testing.
* [svn-r5867] Purpose:Quincey Koziol2002-08-091-7/+30
| | | | | | | | | | | | | Code cleanup Description: Changed the last HRETURN* statements in the FUNC_ENTER macros into HGOTO* macros, which reduces the size of the library binary in certain configurations by another 10% Platforms tested: FreeBSD 4.6 (sleipnir) serial & parallel, IRIX64 6.5 (modi4) serial & parallel
* [svn-r5865] Purpose:Quincey Koziol2002-08-091-3/+3
| | | | | | | | | | | | | | Bug fix Description: hsize_t comparisons for selection boundaries (in H5Sget_select_bounds) were failing on Linux with --disable-hsizet. Solution: Changed comparisons to use use unsigned values instead of signed ones. Platforms tested: Linux 2.2.x (eirene)
* [svn-r5842] Purpose:Quincey Koziol2002-08-081-124/+61
| | | | | | | | | | | | | | | | Code cleanup Description: Change most (all?) HRETURN_ERROR macros to HGOTO_ERROR macros, along with HRETURN macros to HGOTO_DONE macros. This unifies the error return path from functions and reduces the size of the library by up to 10% on some platforms. Additionally, I improved a lot of the error cleanup code in many routines. Platforms tested: FreeBSD 4.6 (sleipnir) serial & parallel and IRIX64 6.5 (modi4) serial & parallel.
* [svn-r5840] Purpose:Quincey Koziol2002-07-311-23/+9
| | | | | | | | | | | | | | Code cleanup Description: Created a new H5I function which combined the some of the functionality of H5I_get_type and H5I_object: H5I_object_verify. Using this new function in the library trims another ~200 lines of code off the library and makes the resulting binaries smaller and faster also. Platforms tested: FreeBSD 4.6 (sleipnir)
* [svn-r5839] Purpose:Quincey Koziol2002-07-311-120/+428
| | | | | | | | | | | | | | | Code cleanup Description: Move operations on each type of selection into the source code file for each selection type (all->H5Sall.c, hyperslab->H5Shyper.c, etc.) Remove central H5S_select_<foo> operations, instead calling the operations through function pointers in each selection (a much more object-oriented approach). Platforms tested: FreeBSD 4.6 (sleipnir)
* [svn-r5834] Purpose:Quincey Koziol2002-07-241-4667/+1180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Large code cleanup/re-write Description: This is phase 1 of the data I/O re-architecture, with the following changes: - Changed the selection drivers to not actually do any I/O, they only generate the sequences of offset/length pairs needed for the I/O (or memory access, in the case of iterating or filling a selection in a memory buffer) - Wrote more abstract I/O routines which get the sequence of offset/ length pairs for each selection and access perform the I/O or memory access. Benefits of this change include: - Removed ~3400 lines of quite redundant code, with corresponding reduction in the size of library binary. - Any selection can now directly access memory when performing I/O, if no type conversions are required, instead of just "regular" hyperslab and 'all' selections, which speeds up I/O. - Sped up I/O for hyperslab selections which have contiguous lower dimensions by "flattening" them out into lesser dimensional objects for the I/O. No file format or API changes were necessary for this change. The next phase will be to create a "selection driver" for each type of selection, allowing each type of selection to directly call certain methods that only apply to that type of selection, instead of passing through dozens of functions which have switch statements to call the appropriate method for each selection type. This will also reduce the amount of code in the library and speed things up a bit more. Phase 3 will involve generating an MPI datatype for all types of selections, instead of only "regular" hyperslab and 'all' selections. This will allow collective parallel I/O for all I/O operations which don't require type conversions. It will also open up the door for allowing collective I/O on datasets which require type conversion. Phase 4 will involve changing the access pattern to deal with chunked datasets in a more optimal way (in serial). Phase 5 will deal with accessing chunked datasets more optimally for collective parallel I/O operations. Platforms tested: FreeBSD 4.6 (sleipnir) w/ parallel & C++ and IRIX64 6.5 (modi4) w/parallel
* [svn-r5759] Purpose:Quincey Koziol2002-07-021-5/+9
| | | | | | | | | | | | Bug fix. Description: Correct the previous code for detecting 1-D contiguous hyperslabs to detect an extra case that the development branch has, but the release branch doesn't have. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5740] Purpose:Quincey Koziol2002-07-011-2/+6
| | | | | | | | | | | | | | | Bug fix. Description: 1-D non-contiguous hyperslabs were erroneously being detected as contiguous and were causing incorrect behavior for parallel I/O benchmark (and parallel programs in general). Solution: Modified algorithm to handle 1-D case correctly. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5603] Purpose:Quincey Koziol2002-06-121-8/+32
| | | | | | | | | | | | | | | | Bug fix Description: I/O on "Regular" hyperslab selections could fail to transfer correctly if the number of elements in the selection's row did now fit "evenly" into the buffer being used for the transfer. Solution: Correct the calculation of the block & count offsets within the optimized "regular" hyperslab routines. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5560] Purpose:Quincey Koziol2002-06-101-0/+2
| | | | | | | | | | | | | | Bug Fix for bug #789 Description: Creating a 1-D dataset region reference caused the library to hang (go into an infinite loop). Solution: Corrected algorithm for serializing hyperslab regions. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5471] Purpose:Quincey Koziol2002-05-291-29/+29
| | | | | | | | | | | | | | | | Code cleanup Description: Broke the FUNC_ENTER macro into several macros, with more specialized uses (which followup mail will describe). This was designed to move most/all of the checks which could be done at compile time to that point, instead of needlessly performing them (over & over :-) at run-time. This reduces the library's size (and thus staticly linked binaries) and has a minor speedup effect also. Platforms tested: IRIX64 6.5 (modi4) with parallel & FORTRAN enabled, and additional testing on FreeBSD and Solaris immediately after the checkin.
* [svn-r5467] Purpose:Quincey Koziol2002-05-281-39/+39
| | | | | | | | | | | | | | | | | | | | | | | | Code cleanup. Description: Took Robb's recent ideas for improving the FUNC_ENTER/FUNC_LEAVE macros equivalents in the SAF library and adapted them to our library. I added an additional macro which is equivalent to FUNC_ENTER: FUNC_ENTER_NOINIT - Has the API tracing code, etc. from FUNC_ENTER but none of the library or interface initialization code. This is to be used _only_ for static functions and those which explicitly cannot have the library or interface initialization code enabled (like the API termination routines, etc.). This allowed many more of the functions in the library [but not all yet :-(] to be wrapped with FUNC_ENTER[_NOINIT]/FUNC_LEAVE pairs. It also reduced the size of the library and executables (by cutting out a bunch of code which was never executed), I'll e-mail the exact results when I've finished editing it. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5439] Purpose:Quincey Koziol2002-05-201-19/+20
| | | | | | | | | | | Code cleanup Description: Change variable casts to use H5_ASSIGN_OVERFLOW, or check for overflow before the cast with H5_CHECK_OVERFLOW. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5437] Pedro Vicente Nunes2002-05-181-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose: eliminate warnings on win32 Description: some conversion warnings were being issued Solution: added some type casts Platforms tested: w2000, linux changed the HDmemset to include a cast in win32; this was just to eliminate a compiler warning. probably the macro can also be used in unix #ifdef WIN32 #define HDmemset(X,C,Z) memset((void*)(X),C,Z) #else /* WIN32 */ #define HDmemset(X,C,Z) memset(X,C,Z) #endif /* WIN32 */ the list of previous warnings was D:\disk_w\hdf5\src\H5FDstdio.c(659) : warning C4244: 'initializing' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(435) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(497) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(915) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(982) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(912) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(995) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(1936) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2019) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2862) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2864) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2948) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(3690) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(3692) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(3776) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(5167) : warning C4244: '+=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Tvlen.c(371) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
* [svn-r5328] Purpose:Quincey Koziol2002-05-021-108/+80
| | | | | | | | | | | Code cleanup Description: Remove an extraneous data structure for tracking the location of a hyperslab iterator when walking through regular hyperslab selections. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5289] Purpose:Quincey Koziol2002-04-301-3/+10
| | | | | | | | | | | | | | | | Bug Fix Description: Correct coordinates were not computed for iteration through irregular hyperslab selection (although the points in the buffer that were selected were correct). Solution: Add another array to track selection offset adjusted coordinates in the selection. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5286] Purpose:Quincey Koziol2002-04-291-5/+5
| | | | | | | | | | | | | | Bug Fix Description: Selection offsets were not being used correctly when iterating through all hyperslabs selections and point selections. Solution: Use the selection offset appropriately. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5261] Purpose:Quincey Koziol2002-04-251-289/+2
| | | | | | | | | | Code cleanup Description: Remove more debugging printf's that were ifdef'd out. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5259] Purpose:Quincey Koziol2002-04-251-89/+49
| | | | | | | | | | | | | | | | Code cleanup Description: Previously, the I/O pipeline (pline), external file list (efl) and fill- value (fill) structs were passed down the raw data function call chain, even into and/or through functions which didn't use them. Since all three of these pieces of information are available from the dataset creation property list, just pass the dataset creation property list down the function call chain and query for the information needed in a particular function. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5219] Purpose:Quincey Koziol2002-04-221-1/+1
| | | | | | | | | | Code cleanup Description: Clean up warnings from gcc 3.1 Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5170] Raymond Lu2002-04-111-3/+3
| | | | | | | | | | | Purpose: New feature Description: Fill-value's behaviors for contiguous dataset have been redefined. Basicly, dataset won't allocate space until it's necessary. Full details are available at http://hdf.ncsa.uiuc.edu/RFC/Fill_Value, at this moment. Platforms tested: Linux 2.2.
* [svn-r5168] Pedro Vicente Nunes2002-04-111-3/+0
| | | | | | | | | | | | | | | | | | | | | | Purpose: H5Dset_extent API function Description: 1 new public function: H5Dset_extent, that allows shrinking a dataset several private functions that free the previously allocated chunks H5F_istore_prune_by_extent, H5B_prune_by_extent : removes the chunks H5F_istore_initialize_by_extent : initializes them with the fill value H5S_select_fill is used to fill the selection in the memory buffer Platforms tested: Windows 2000 SUN( arabica) LINUX (eirene) IRIX64 (modi4)
* [svn-r5152] Purpose:Quincey Koziol2002-04-091-8/+403
| | | | | | | | | | | | | | | New Feature Description: Added new H5Dfill() routine to fill the elements in a selection for a memory buffer with a fill value. This is a user API wrapper around some internal routines which were needed for the fill-value modifications from Raymond as well as Pedro's code for reducing the size of a chunked dataset. Platforms tested: FreeBSD 4.5 (sleipnir) [and IRIX64 6.5 (modi4) in parallel, in a few minutes]
* [svn-r5138] Purpose:Quincey Koziol2002-04-031-1/+42
| | | | | | | | | | | | | | | | | | | | | | Bug Fix & Code Cleanup Description: The MPI-IO optimized transfer routines (H5S_mpio_spaces_read/H5S_mpio_space_write) are not being invoked in all the cases where they could be used. Additionally, the code for determining if an optimized transfer is wrapped into the actual I/O transfer routine in a very confusing way. Solution: Re-enabled MPI-IO optimized transfer routines in all the cases where they should work. Extracted all the pre-conditions for optimized transfers into separate routines from the transfer routines. Platforms tested: FreeBSD 4.5 (sleipnir) & IRIX64 6.5 (modi4)
* [svn-r5130] Purpose:Quincey Koziol2002-04-021-0/+78
| | | | | | | | | | | | | | | | | | | | | | Bug Fix & Feature Description: The selection offset was being ignored for optimized hyperslab selection I/O operations. Additionally, I've found that the restrictions on optimized selection I/O operations were too strict and found a way to allow more hyperslabs to use the optimized I/O routines. Solution: Incorporate the selection offset into the selection location when performing optimized I/O operations. Allow optimized I/O on any single hyperslab selection and also allow hyperslab operations on chunked datasets. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5126] Purpose:Quincey Koziol2002-04-011-13/+87
| | | | | | | | | | | Bug Fix (sorta) Description: "small" contiguous hyperslabs were not being detected correctly by H5S_hyper_select_contigous() leading to poorer performance than possible. Solution: Corrected check for small hyperslabs. Also cleaned up the H5S_find() code. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5082] Purpose:Quincey Koziol2002-03-261-2/+8
| | | | | | | | | | | | | | | | | | | | Bug Fix Description: When reading a contiguous hyperslab that spanned the entire dataset and was larger that the type conversion buffer, the hyperslab routines need to fill the type conversion buffer and then return to the I/O routines. When the I/O routines resume the hyperslab operation, it was possible to have a combination of coordinates which caused the hyperslab iterator to incorrectly advance in the file, causing some data to be re-read or re-written. Solution: Corrected the H5S_hyper_iter_next routine to correctly handle contiguous hyperslabs that span the entire dataset dimensions. Platforms tested: Linux (eirene)
* [svn-r4914] Purpose:Quincey Koziol2002-02-071-79/+220
| | | | | | | | | | | | | | | | | | Bug fix & feature add Description: Added new API function H5Sget_select_type to determine type of selection in a dataspace. Return values are defined by the H5S_sel_type enumerated type in H5Spublic.h Also, hyperslab operations involving a "all" or "none" selection are not generating the correct resulting selections. Solution: Added more code to make hyperslab operations against an "all" or "none" selection generate the correct results. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r4706] Purpose:Quincey Koziol2001-12-121-4/+4
| | | | | | | | | | | | Code cleanup Description: Tweaked internal error handling macros to reduce the size of the library's object code by about 10-20%. Also cleaned up some compiler warnings... Platforms tested: FreeBSD 4.4 (sleipnir)
* [svn-r4693] Purpose:Quincey Koziol2001-12-111-2/+2
| | | | | | | | | | | | | | | | | | | | 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)
* [svn-r4644] Purpose:Quincey Koziol2001-11-271-5/+2
| | | | | | | | Code cleanup Description: Fix small warning on SGI compilers Platforms tested: IRIX64 6.5 (modi4)
* [svn-r4643] Purpose:Quincey Koziol2001-11-271-69/+57
| | | | | | | | | | | | | | | | | | | | | | Code cleanup Description: Windows is generating hundreds of warnings from some of the practices in the library. Mostly, they are because size_t is 32-bit and hsize_t is 64-bit on Windows and we were carelessly casting the larger values down to the smaller ones without checking for overflow. Also, some other small code cleanups,etc. Solution: Re-worked some algorithms to eliminate the casts and also added more overflow checking for assignments and function parameters which needed casts. Kent did most of the work, I just went over his changes and fit them into the the library code a bit better. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4628] Purpose:Quincey Koziol2001-11-201-1/+1
| | | | | | | | Fix typo... Description: Copy & paste error... :-) Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4620] Purpose:Quincey Koziol2001-11-201-9/+28
| | | | | | | | | Code cleanup Description: Get rid of IDs from internal function calls and some small cleanups from the old-stype => generic property list conversion. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4590] Purpose:Quincey Koziol2001-11-041-74/+74
| | | | | | | | | Code cleanup Description: Fix a bunch of warnings and also make the linux compilers happy with some casts. Platforms tested: Linux 2.2 (eirene)
* [svn-r4586] Purpose:Quincey Koziol2001-11-021-2609/+5168
| | | | | | | | | | | | | | Code speedups, etc. Description: Bring in new algorithms and data structures for dealing with hyperslabs. This speeds up the hyperslab I/O for non-regular hyperslabs by a huge amount. Currently, the new API functions are ifdef'ed out, pending discussion and consensus approval. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4560] Purpose:Quincey Koziol2001-10-201-0/+8
| | | | | | | | | | | | | Bug fix. Description: 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: Detect the situation and internally modify the hyperslab operation to be a 'set' operation, since that's the next affect desired. Platforms tested: FreeBSD 4.4. (hawkwind)
* [svn-r4473] Purpose:Quincey Koziol2001-09-251-15/+15
| | | | | | | | | | | | | | | | | | | | | Code cleanup for better compatibility with C++ compilers Description: C++ compilers are choking on our C code, for various reasons: we used our UNUSED macro incorrectly when referring to pointer types we used various C++ keywords as variables, etc. we incremented enum's with the ++ operator. Solution: Changed variables, etc.to avoid C++ keywords (new, class, typename, typeid, template) Fixed usage of UNUSED macro from this: char UNUSED *c to this: char * UNUSED c Switched the enums from x++ to x=x+1 Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4355] Purpose:Quincey Koziol2001-08-141-108/+108
| | | | | | | | | | | | | | | | | | | | | | Code cleanup (sorta) Description: When the first versions of the HDF5 library were designed, I remembered vividly the difficulties of porting code from a 32-bit platform to a 16-bit platform and asked that people use intn & uintn instead of int & unsigned int, respectively. However, in hindsight, this was overkill and unnecessary since we weren't going to be porting the HDF5 library to 16-bit architectures. Currently, the extra uintn & intn typedefs are causing problems for users who'd like to include both the HDF5 and HDF4 header files in one source module (like Kent's h4toh5 library). Solution: Changed the uintn & intn's to unsigned and int's respectively. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4324] Purpose:Quincey Koziol2001-08-101-50/+44
| | | | | | | | | | | | | | | | | | | | | | | | New Features! Description: Start migrating the internal use of property lists in the library from the older implementation to the new generic property lists. Currently, only the dataset transfer property lists are migrated to the new architecture, all the rest of the property list types are still using the older architecture. Also, the backward compatibility features are not implemented yet, so applications which use dataset transfer properties may need to make the following changes: H5Pcreate(H5P_DATASET_XFER) -> H5Pcreate_list(H5P_DATASET_XFER_NEW) and H5Pclose(<a dataset transfer property list>) -> H5Pclose_list(id) This still may have some bugs in it, especially with Fortran, but I should be wrapping up those later today. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4196] Purpose:Quincey Koziol2001-07-121-2/+10
| | | | | | | | | | | | Bug Fix Description: Using a 'long long' type (i.e. hsize_t) in a switch statement is apparently not allowed by the HP/UX 10.20 system compiler and causes the compile to fail. Solution: Cast the variable to a size_t for the switch. Platforms tested: HP/UX 10.20 (sangamon)
* [svn-r4181] Purpose:Quincey Koziol2001-07-101-346/+1158
| | | | | | | | | Bug Fix, Code Cleanup, Code Optimization, etc. Description: Fold in the hyperslab speedups, clean up compile warnings and change a few things from using 'unsigned' or 'hsize_t' to use 'size_t' instead. Platforms tested: FreeBSD 4.3 (hawkwind), Solaris 2.7 (arabica), Irix64 6.5 (modi4)
* [svn-r4038] Purpose:Quincey Koziol2001-06-211-23/+23
| | | | | | | | | | | | | Code clean/bug fix Description: H5FL (free-list manager) code currently is taking an hsize_t as the size of a memory block to allocate. On many machines, the size of an hsize_t is greater than the size of a size_t, potentially leading to incorrect memory allocations in rare circumstances. Solution: Changed hsize_t parameters and variables to size_t. Platforms tested: FreeBSD 4.3 (hawkwind)
* [svn-r4002] Purpose:Quincey Koziol2001-06-141-5/+3
| | | | | | | | | | | | | 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)
* [svn-r3781] Purpose:Bill Wendling2001-04-051-12/+12
| | | | | | | | | | | | | | | | | | Update Description: Changed #include <hdf_file.h> construct to #include "hdf_file.h" so that the GNU compiler can more easily pick up the dependencies which it places in the .depend and Dependencies files. Also regenerated the Dependencies to go along with this. Platforms tested: Linux
* [svn-r3479] Purpose:Quincey Koziol2001-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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)
* [svn-r3302] Purpose:Quincey Koziol2001-01-181-65/+102
| | | | | | | | | | | | | Bug fix Description: Certain combinations of hyperslabs, especially those that have to be strip-mined during I/O were causing data to be incorrectly transferred. Solution: Changed the code in H5S_get_hyper_regions to be more careful about the regions of the current dimension that are valid. Sometimes, regions which had already been iterated through were being re-processed. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3252] Purpose:Quincey Koziol2001-01-091-358/+371
| | | | | | | | | | | | | Code cleanup. Description: Fixed _lots_ (I mean _tons_) of warnings spit out by the gcc with the extra warnings. Including a few show-stoppers for compression on IRIX machines. Solution: Changed lots of variables' types to more sensible and consistent types, more range-checking, more variable typecasts, etc. Platforms tested: FreeBSD 4.2 (hawkwind), IRIX64-64 (modi4)
* [svn-r3065] Purpose:Quincey Koziol2000-12-021-4/+4
| | | | | | | | Code cleanup Description: Remove some warnings... Platforms tested: FreeBSD 4.2 (hawkwind) & IRIX64 6.5 (modi4)