summaryrefslogtreecommitdiffstats
path: root/test/tselect.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r12440] Purpose:Quincey Koziol2006-06-271-76/+76
| | | | | | | | | | | Code cleanup Description: Trim trailing whitespace in Makefile.am and C/C++ source files to make diffing changes easier. Platforms tested: None necessary, whitespace only change
* [svn-r12019] Purpose:Leon Arber2006-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug fix/Feature Description: Modify the library to use rand_r, when available, instead of srand. If rand_r is not available, it will try to use srandom/random, and then finally fall back to srand/rand. Solution: A couple places in the library use the srand() function to seed the random number generator. This can cause problems on certain platforms and could theoretically cause problems for users who expect a certain sequence of random numbers following their own call to srand(). Most platforms have an implementation of rand_r, which is identical to rand, except that it allows for explicit storage of the seed value. The configure script will now check for the existence of rand_r to facilitate its use in the library. Two new functions are added, to replace the macros HDsrand/HDrand. These functions are HDrand and HDsrand. HDrand will call rand_r, if available, or random(), if available, and fall back to rand() if neither of those is available. HDsrand will store the seed value locally, if rand_r is available. Otherwise, it will call srandom if available, and fall back to srand otherwise. Platforms tested: heping, mir. Really need to test on Red Storm, since that platform motivated this fix, but the machine is currently not available. Misc. update:
* [svn-r11966] Purpose:Quincey Koziol2006-02-271-13/+13
| | | | | | | | | | | | Code cleanup Description: Style fixes for consistency & other minor cleanups Platforms tested: FreeBSD 4.11 (sleipnir) Mac OSX (amazon) Linux 2.4
* [svn-r11558] Purpose:Quincey Koziol2005-10-131-0/+691
| | | | | | | | | | | | | | | | Bug fix Description: Check in Kent's fixes to hyperslab rebuilding code that should correctly detect situation when different sub-hyperslabs exist in a higher dimension. Solution: Remember previous sub-hyperslab information and compare that with newly generated sub-hyperslab to make certain they are the same. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-219/+219
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Trim trailing whitespace, which is making 'diff'ing the two branches difficult. Solution: Ran this script in each directory: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r10951] Purpose:Quincey Koziol2005-06-181-0/+108
| | | | | | | | | | | | | | | | | Bug fix Description: Hyperslab selections that had a selection offset and were applied to a chunked dataset could get into an infinite loop or core dump if the same selection was used multiple times, with different selection offsets. Solution: "Normalize" the selection with the selection offset, generate the selections for the chunks overlapped and then "denormalize" the selection. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r10832] Purpose:Quincey Koziol2005-05-311-0/+8
| | | | | | | | | | | | | | | | | Bug fix Description: Fix problems with hyperslab operations with hyperslabs that have count == 0 or block == 0 values. (bugzilla #294) Solution: Detect zero sized selections and translate into appropriate action on the current hyperslab, rather than go through the formality of generating span trees with zero-sized spans, etc. Platforms tested: FreeBSD 4.11 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r9727] Purpose:Quincey Koziol2004-12-291-121/+334
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-) Description: Generally speaking, this is the "signed->unsigned" change to selections. However, in the process of merging code back, things got stickier and stickier until I ended up doing a big "sync the two branches up" operation. So... I brought back all the "infrastructure" fixes from the development branch to the release branch (which I think were actually making some improvement in performance) as well as fixed several bugs which had been fixed in one branch, but not the other. I've also tagged the repository before making this checkin with the label "before_signed_unsigned_changes". Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel & fphdf5 FreeBSD 4.10 (sleipnir) w/threadsafe FreeBSD 4.10 (sleipnir) w/backward compatibility Solaris 2.7 (arabica) w/"purify options" Solaris 2.8 (sol) w/FORTRAN & C++ AIX 5.x (copper) w/parallel & FORTRAN IRIX64 6.5 (modi4) w/FORTRAN Linux 2.4 (heping) w/FORTRAN & C++ Misc. update:
* [svn-r9312] Purpose:Quincey Koziol2004-09-231-0/+7
| | | | | | | | | | Bug fix. Description: Allow I/O to occur on 0 element selections. Platforms tested: h5committest
* [svn-r8901] Purpose:Quincey Koziol2004-07-201-0/+20
| | | | | | | | | | | | Bug fix Description: Allow buffer parameter to H5Dread & H5Dwrite to be NULL if there are no elements to transfer. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8048] Purpose:Quincey Koziol2004-01-101-218/+150
| | | | | | | | | | | | | Code cleanup & reorganization Description: Move further in the testing framework cleanup, eliminating all the global variables (moving them into testframe.c as static variables) from the testing framework code and moving it into the libh5test.a. Platforms tested: FreeBSD 4.9 (sleipnir) w & w/o thread-safety, c++ & parallel h5committested
* [svn-r7943] Purpose:Quincey Koziol2003-12-131-2/+231
| | | | | | | | | | | | | | | Bug fix. Description: Using a selection offset with hyperslab selections in chunked datasets was getting into an infinite loop and hanging the application. Solution: Apply the selection offset to the hyperslab selection properly. Platforms tested: FreeBSD 4.9 (sleipnir) w & w/o parallel h5committest
* [svn-r7734] Purpose:Quincey Koziol2003-10-251-2/+143
| | | | | | | | | | | | | | | | | Bug fix Description: Single hyperslab selections (which were set with only one call to H5Sselect_hyperslab) that had dimensions that could be "flattened" but were interspersed with dimensions that could not be flattened were not correctly handled, causing core dumps. Solution: Re-work "flattening" code to handle this case properly. Platforms tested: FreeBSD 4.9 (sleipnir) w/parallel h5committest
* [svn-r7383] Purpose:Quincey Koziol2003-08-191-0/+69
| | | | | | | | | | | | | | | | Bug fix Description: I/O on chunked datasets with a scalar dataspace for the memory dataspace was not working correctly. Solution: Translate the scalar dataspace into a n-dimensional (where n is the number of dimensions of the file's dataspace) dataspace of dimensions 1x1x1... Platforms tested: FreeBSD 4.8 (sleipnir) h5committest (modulo modi4 which is not working correctly)
* [svn-r7259] Purpose:Quincey Koziol2003-07-231-0/+201
| | | | | | | | | | | | | | | Bug fix Description: I/O on chunked datasets with point selections was not working correctly. Solution: Re-wrote some parts of raw data I/O routines that build the selections for each chunk to correctly handle point selections. Platforms tested: FreeBSD 4.8 (sleipnir) h5committest
* [svn-r7181] Purpose:Quincey Koziol2003-07-071-13/+0
| | | | | | | | | | | Version update Description: Removed 1.4 compatibility code in the library. Platforms tested: FreeBSD 4.8 (sleipnir) h5committest
* [svn-r7001] Purpose:Quincey Koziol2003-06-091-1/+5
| | | | | | | | | | | Code cleanup Description: Reduce warnings when compiled with --enable_hdf5v1_4 compatibility switch. Platforms tested: FreeBSD 4.8 (sleipnir) h5committest
* [svn-r6961] Purpose:Quincey Koziol2003-06-041-6/+26
| | | | | | | | | | | | | | | | Bug fix Description: An earlier checkin changed some of the assumptions about single block hyperslabs, causing them to fail in odd ways. Solution: Fix errors with single block hyperslabs by keying off of count==1 instead of stride==1. Platforms tested: FreeBSD 4.8 (sleipnir) w/parallel h5committested
* [svn-r6957] Purpose:Quincey Koziol2003-06-041-4/+866
| | | | | | | | | | | | | | | | Code cleanup & performance improvements Description: Optimize hyperslabs that are built to detect situations where "regular" hyperslabs can be recovered from span tree descriptions. Also, improve "same shape" routine to correctly work with all the different combinations of selections. Platforms tested: FreeBSD 4.8 (sleipnir) w/C++ FreeBSD 4.8 (sleipnir) w/parallel h5committested
* [svn-r6941] Purpose:Quincey Koziol2003-05-311-6/+6
| | | | | | | | | | Code cleanup Description: Clean up older settings for strides of hyperslabs Platforms tested: h5committestted (although Fortran tests failed for some reason)
* [svn-r6843] Purpose:Quincey Koziol2003-05-091-2/+2
| | | | | | | | | | | | Code cleanup Description: Clean up warnings exposed by compiling on O2K. Also, revert some of Bill and my changes to the H5S_mpi_opt_types_g, etc. and settle them back into their original location. Platforms tested: h5committested.
* [svn-r6839] Purpose: feature protectionRaymond Lu2003-05-081-0/+58
| | | | | | | | | Description: H5Sselect_hyperslab and H5Sselect_elements didn't check scalar dataspaces. Solution: put error detection in those functions. Platforms tested: eirene(simple change).
* [svn-r6825] Purpose:Quincey Koziol2003-05-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | New feature/enhancement Description: Chunked datasets are handled poorly in several circumstances involving certain selections and chunks that are too large for the chunk cache and/or chunks with filters, causing the chunk to be read from disk multiple times. Solution: Rearrange raw data I/O infrastructure to handle chunked datasets in a much more friendly way by creating a selection in memory and on disk for each chunk in a chunked dataset and performing all of the I/O on that chunk at one time. There are still some scalability (the current code attempts to create a selection for all the chunks in the dataset, instead of just the chunks that are accessed, requiring portions of the istore.c and fillval.c tests to be commented out) and performance issues, but checking this in will allow the changes to be tested by a much wider audience while I address the remaining issues. Platforms tested: h5committested, FreeBSD 4.8 (sleipnir) serial & parallel, Linux 2.4 (eirene)
* [svn-r6538] Purpose:Bill Wendling2003-03-311-11/+13
| | | | | | | | | | | | | Update Description: Updated the Copyright statement Platforms tested: Linux (This change is only in the comments, so I just check that the modules still compile) Misc. update:
* [svn-r6055] Purpose:Quincey Koziol2002-11-051-4/+165
| | | | | | | | | | | | | | New feature Description: Add support for scalar dataspaces in parallel I/O. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} Also, FreeBSD 4.7 (sleipnir) serial & parallel Misc. update: Update release_docs/RELEASE for bug fixes, new features, etc.
* [svn-r6043] Purpose:Quincey Koziol2002-10-291-0/+84
| | | | | | | | | | | | Bug fix Description: I/O using "none" selections in parallel wasn't working correctly. Also, add serial "none" selection test. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)}
* [svn-r5833] Purpose:Quincey Koziol2002-07-241-1/+1
| | | | | | | | | | Code cleanup Description: Add a bit more debugging information to one failure mode. Platforms tested: FreeBSD 4.6 (sleipnir)
* [svn-r5603] Purpose:Quincey Koziol2002-06-121-5/+6
| | | | | | | | | | | | | | | | 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-r5290] Purpose:Quincey Koziol2002-04-301-46/+148
| | | | | | | | | | | | | | Bug Fix Description: Corrected int vs. unsigned short error that only showed up on big-endian machines. Also, add more testing to verify that the coordinates reported for each element iterated through with H5Diterate are correct. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5286] Purpose:Quincey Koziol2002-04-291-31/+71
| | | | | | | | | | | | | | 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-r5152] Purpose:Quincey Koziol2002-04-091-0/+432
| | | | | | | | | | | | | | | 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-r5130] Purpose:Quincey Koziol2002-04-021-2/+120
| | | | | | | | | | | | | | | | | | | | | | 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-r5083] Purpose:Quincey Koziol2002-03-261-6/+145
| | | | | | | | | | | | | | | | | | | Bug Fix Description: Regression test for following bug: 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. Platforms tested: Linux (eirene)
* [svn-r4978] Purpose:Quincey Koziol2002-02-171-1/+1
| | | | | | | | Code cleanup Description: Cleanup compiler warnings found by the SGI compiler and gcc 3.0 Platforms tested: FreeBSD 4.5 w/gcc 3.0 (hack) && IRIX64 (modi4)
* [svn-r4915] Purpose:Quincey Koziol2002-02-071-3/+368
| | | | | | | | | | | | | | | | | | | 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 regression tests to verify correction operation of hyperslab operations against "all" and "none" selections. New tests also verify H5Sget_select_type() API call. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r4693] Purpose:Quincey Koziol2001-12-111-0/+97
| | | | | | | | | | | | | | | | | | | | 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-r4680] Purpose:Quincey Koziol2001-12-061-0/+2
| | | | | | | | | | | | | Code cleanup Description: Property that H5P(g|s)et_hyper_cache uses is no longer in use inside the library. Solution: Removed H5P(g|s)et_hyper_cache API functions, except when backward compatibility is turned on. When backward compatibility is turned on, the property is defined by the library, but unused internally. Platforms tested: FreeBSD 4.4 (sleipnir)
* [svn-r4669] Purpose:Quincey Koziol2001-12-051-0/+4
| | | | | | | | | | | | | | | | Backward Compatibility Fix Description: One of H5P[gs]et_cache's parameters changed between v1.4 and the development branch. Solution: Added v1.4 compat stuff around H5P[gs]et_cache implementation and testing to allow v1.4.x users to continue to use their source code without modification. These changes are for everything except the FORTRAN wrappers - I spoke with Elena and she will make the FORTRAN wrapper changes. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4643] Purpose:Quincey Koziol2001-11-271-7/+6
| | | | | | | | | | | | | | | | | | | | | | 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-r4587] Purpose:Quincey Koziol2001-11-021-17/+573
| | | | | | | | Code speedups, etc. Description: Add tests for new hyperslab API functions (currently ifdef'd out) Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4528] Purpose:HDF Rational2001-10-051-2/+2
| | | | | | | | | | | Code cleanup Description: Purify detected an uninitialized memory read in test data. Solution: Corrected parameters for initializing data array so entire array is initialized. Platforms tested: Solaris 2.7 (arabica)
* [svn-r4482] Purpose:Quincey Koziol2001-09-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | Kludge Description: Since we're only about halfway through converting the internal use of property lists from the "old way" to the generic property lists, we turned off snapshots to avoid exposing lots of API changes to users, until the APIs settled down. Getting the snapshots rolling again seems to have become a priority, so some changes are going to have to be made now that were going to be postponed until we were completely finished with the conversion. This requires that the old API functions be able to deal with both the old and new property lists smoothly. Solution: Kludge together the property list code so that they can transparently handle dealing with both the old and new property lists Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4355] Purpose:Quincey Koziol2001-08-141-19/+19
| | | | | | | | | | | | | | | | | | | | | | 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-r4326] Purpose:Quincey Koziol2001-08-101-1/+1
| | | | | | | | | | Code cleanups, mostly.. Description: Work on pacifying the SGI compiler to get the generic properties working correctly with --enable-parallel and --enable-fortran. It's not quite fixed yet, but I need to head home and these patches help... :-/ Platforms tested: IRIX64 6.5 (modi4)
* [svn-r4324] Purpose:Quincey Koziol2001-08-101-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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-r4181] Purpose:Quincey Koziol2001-07-101-4/+10
| | | | | | | | | 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-r4012] Purpose:Quincey Koziol2001-06-181-5/+1
| | | | | | | | Clean up compiler warnings. Description: Just code neatening mostly, some casts, etc. Platforms tested: FreeBSD 4.3 (hawkwind)
* [svn-r4003] Purpose:Quincey Koziol2001-06-141-22/+114
| | | | | | | | | 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)
* [svn-r3962] Purpose:Quincey Koziol2001-06-051-2/+15
| | | | | | | | Code cleanup Description: Incremented error count when error conditions occur. Platforms tested: FreeBSD 4.3 (hawkwind)
* [svn-r3770] Purpose:Bill Wendling2001-04-031-2/+2
| | | | | | | | | | | | | | | | | Update Description: Changed includes of the form: #include <hdf5_file.h> to #include "hdf5_file.h" so that gcc can pick them up easier without including the system header files since we don't care about them. Platforms tested: Linux