Commit Graph

1191 Commits

Author SHA1 Message Date
Quincey Koziol
b909264b79 [svn-r2952] Purpose:
Small code optimization
Description:
    Statistics on the amount of times a datatype conversion required alignment
    were being kept in all case, even though they are only used when H5T_DEBUG
    is turned on.
Solution:
    Build some extra macros so that the statistics are only kept when the
    H5T_DEBUG macro is defined.
Platforms tested:
    Solaris 2.6 (baldric)
2000-11-16 15:36:13 -05:00
Quincey Koziol
62d8226406 [svn-r2951] Purpose:
Bug fix
Description:
    Previous re-arrangement of FUNC_ENTER macro was a _little_ too agressive
    about not re-checking for library or interface re-initialization.  Although
    it happens very rarely that the library is shut down and then re-started
    the library & interface initialization functions weren't getting run in
    that case.
Solution:
    Separated out the library, interface & function checks again.  This version
    is still a little faster than the previous way things were being done.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-16 15:10:25 -05:00
Quincey Koziol
4fe7973b5c [svn-r2947] Purpose:
Code optimization
Description:
    Re-vamped FUNC_ENTER macro to remove as many of the if's as possible and
    also to only check once if any given function is an API function.

    This improves the performance of the hyperslab I/O benchmark (h5hypers)
    that I've been testing with by another 5%.  All library functions should
    be 5-15% faster, depending on how many times they are called and what
    percentage of the function's time was spent in the FUNC_ENTER macro vs.
    the percentage of time in the main body of the function.
Platforms tested:
    Solaris 2.6 (baldric)
2000-11-16 12:32:46 -05:00
Quincey Koziol
eddfdc1274 [svn-r2946] Purpose:
Small code optimzation
Description:
    Removed some unnecessary calls to H5MM_xfree
Platforms tested:
    Solaris 2.6 (baldric)
2000-11-16 12:29:26 -05:00
Quincey Koziol
b39c60db45 [svn-r2945] Purpose:
Small code optimization
Description:
    Removed some unnecessary buffer assignments.
Platforms tested:
    Solaris 2.6 (baldric)
2000-11-16 12:28:08 -05:00
Quincey Koziol
b524625fcb [svn-r2942] Purpose:
Bug fix
Description:
    When performing I/O on the entire dataset for datasets with the maximum
    number of dimensions, H5S_MAX_RANK, (32 currently), the dimension
    information was getting corrupted internally and causing no data to be
    actually written to the file.
Solution:
    Changed the internal array sizes from H5S_MAX_RANK to H5O_LAYOUT_NDIMS,
    which is one element larger to accomodate the size of the elements
    themselves.
Platforms tested:
    Solaris 2.7 (arabica)
2000-11-15 17:47:59 -05:00
Albert Cheng
e1cd6bcb61 [svn-r2935] Purpose:
Bug fix
Description:
    The optimized MPIO code was not working with the TFLOPS machine.
    It kept reporting "can't convert from size to size_i" errors in
    H5FD_mpio_write() and H5FD_mpio_read().
Solution:
    The error was actually in H5S_mpio_spaces_xfer() in H5Smpio.c
    in which the variable mpi_count was declared as size_t (only
    4 bytes big in TFLOPS) when it should be hsize_t (8 bytes big in TFLOPS).
    Corrected and also changed to use the (hsize_t) to case size_i in
    H5FD_mpio_write() and H5FD_mpio_read() since that is what it should
    be.
Platforms tested:
    TFLOPS and modi4 (-64, parallel)
2000-11-15 14:59:44 -05:00
Bill Wendling
1af9fe5775 [svn-r2928] Purpose:
Buglet fix
Description:
	Get rid of compiler warnings. The HGOTO_RETURN was returning NULL
	when it should have returned FAIL.
Solution:
	Swapped the two.
Platforms tested:
	Linux
2000-11-15 12:46:52 -05:00
Quincey Koziol
8ff45a787d [svn-r2911] Purpose:
Bug fix and code checkpoint
Description:
    HP's compilers didn't seem to like comparing function pointers with '<'
        & '>', so I've changed how the function pointers are compared to aviod
        those operations.  This should fix last night's daily test failures on
        opus and sangamon.

    Also, more code development for generic property lists.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-15 10:32:47 -05:00
Quincey Koziol
d6b0ddc5e7 [svn-r2909] Purpose:
Code checkpoint
Description:
    More generic property functionality added and debugged.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-14 21:27:03 -05:00
Quincey Koziol
fc0465ca89 [svn-r2899] Purpose:
Code development
Description:
    Incrementally adding various generic property features.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-14 18:13:17 -05:00
Quincey Koziol
3ddb574eb7 [svn-r2892] Purpose:
Code development
Description:
    Increment bug fixes and some new API functions to generic property list
    code.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-13 19:05:51 -05:00
Quincey Koziol
7b8b71ed9b [svn-r2891] Purpose:
Bug fix.
Description:
    Generic property list code wasn't getting initialized early enough to get
    the proper values into the macro/constants.
Solution:
    Call H5P_init() from H5_init_library().
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-13 19:05:05 -05:00
Bill Wendling
f6a92e7560 [svn-r2890] Purpose:
Redo of a patch
Description:
	As Quincey pointed out, the parameters are only ``UNUSED'' if we
	can't find libz.a.
Solution:
	I changed it to conditionally put the UNUSED in there...
Platforms tested:
	Linux
2000-11-13 16:45:46 -05:00
Quincey Koziol
0eb88a48d7 [svn-r2886] Purpose:
Backward compatibility additions
Description:
    Created HDF5 v1.2 compatibility API functions (H5Tget_member_dims &
    H5Tinsert_array) which use the newer array datatypes underneath, but should
    ease user's transition to the 1.4 version of the library.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-13 16:26:15 -05:00
Bill Wendling
d1b421f195 [svn-r2884] Purpose:
Removed warnings
Description:
	Unused parameters
Solution:
	Put UNUSED macro before unused params.
Platforms tested:
	Linux
2000-11-13 16:08:10 -05:00
Quincey Koziol
bd433ad90c [svn-r2880] Purpose:
Code cleanup
Description:
    Added a the generic property ID types to the list of things not stored in
    files.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-13 12:36:33 -05:00
Albert Cheng
0553b77507 [svn-r2879] Snapshot version 1.3 release 33 2000-11-13 12:31:36 -05:00
Quincey Koziol
6c603f3e77 [svn-r2875] Purpose:
Code cleanup
Description:
    Eliminated some warnings on O2K platform.
Platforms tested:
    SGI O2K (modi4)
2000-11-13 12:03:59 -05:00
Quincey Koziol
8ea1fc564f [svn-r2874] Purpose:
API cleanup
Description:
    Tweaked some parts of the generic properties API to reduce warnings.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind) & SGI O2K (modi4)
2000-11-13 12:02:55 -05:00
Quincey Koziol
a4076b5598 [svn-r2871] Purpose:
Code updates
Description:
    Finished fleshing out code for generic properties, although they are not
    used anywhere in the library yet.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-11 19:09:36 -05:00
Quincey Koziol
daeb159cb8 [svn-r2869] Purpose:
Bug fix
Description:
    "old-style" compound datatypes with array fields were leaking memory
    during the datatype header decoding when creating the array datatype for
    a field.
Solution:
    Free the base type of the array after creating array datatype for field.
Platforms tested:
    Solaris 2.6 (baldric)
2000-11-11 17:22:12 -05:00
Quincey Koziol
51608fceef [svn-r2868] Purpose:
Bug Fix
Description:
    Generic property lists were leaking memory.
Solution:
    Tied them into the regular cleanup code called at the library's termination
Platforms tested:
    Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
2000-11-11 15:16:51 -05:00
Quincey Koziol
2d0c5c1067 [svn-r2867] Purpose:
Bug fix.
Description:
    Dimension permutations for array datatypes were being skipped over when
    datatype information was read from the file (because they aren't used
    anywhere in the library currently), but this could cause problems in the
    future when they are used for something.
Solution:
    Read them in anyway, even if we aren't using them yet.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-11 11:44:28 -05:00
Quincey Koziol
04223a18f4 [svn-r2866] Purpose:
Code cleanup
Description:
    Found more "Have_foo" usage and converted them to "H5_HAVE_foo"
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-11 10:58:12 -05:00
Quincey Koziol
47bef32530 [svn-r2865] Purpose:
Code Cleanup
Description:
    Removed unused variable.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-11 10:56:43 -05:00
Quincey Koziol
3886559829 [svn-r2861] Purpose:
Bug fix.
Description:
    When writing data and the dataset needed to be extended, the write call
    ended up using the old dataspace extents (prior to the dataspace extend)
    and bad parameters would get into the I/O channel, eventually causing it
    to dump core.
Solution:
    Every time a dataset is extended, throw away the previous dataspace
    information and re-retrieve it.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-10 17:26:53 -05:00
Robb Matzke
169579ee4d [svn-r2860] ./hdf5/src/H5Pprivate.h
* 2000-11-10 Robb Matzke  <matzke@llnl.gov>
	Changed `class' to `cls' in various places
	since the former is a C++ reserved word and some C compilers (like
	the one on blue) complain.
2000-11-10 15:45:38 -05:00
Robb Matzke
06d7d06a2b [svn-r2859] ./hdf5/src/H5P.c
* 2000-11-10 Robb Matzke  <matzke@llnl.gov> (H5P_copy)
	Changed `class' to `cls'.

    * 2000-11-10 Robb Matzke  <matzke@llnl.gov> (H5P_close)
	Changed `class' to `cls'.
2000-11-10 15:45:35 -05:00
Robb Matzke
65bfb5b8a8 [svn-r2855] ./hdf5/src/H5Tpublic.h 2000-11-10 09:34:09 -05:00
Robb Matzke
82a7138733 [svn-r2854] ./hdf5/src/H5Tconv.c 2000-11-10 09:34:07 -05:00
Robb Matzke
407c7100e3 [svn-r2853] ./hdf5/src/H5T.c
* 2000-11-10 Robb Matzke  <matzke@llnl.gov>
	Updated API tracing calls.
2000-11-10 09:34:03 -05:00
Robb Matzke
165359045e [svn-r2852] ./hdf5/src/H5FD.c
* 2000-11-10 Robb Matzke  <matzke@llnl.gov> (H5FD_close)
	Removed code that resets the H5FD_t
	file structure to zero because that struct has already been
	freed.  This fixes a core dump on some platforms.
2000-11-10 09:34:01 -05:00
Quincey Koziol
66c44914cc [svn-r2850] Purpose:
Added new function.
Description:
    It's often convenient to query the class of a compound datatype's member
    to determine if it's an array and the previous way required you to open
    the member type to query it's class.
Solution:
    Added new H5Tget_member_class function to directly ask for the member type's
    class.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-09 18:00:19 -05:00
Quincey Koziol
e32c78d023 [svn-r2843] Purpose:
New Feature
Description:
    Added array datatype to library.  See documentation at:
        http://hdf.ncsa.uiuc.edu/HDF5/planning/DP/ArrayType.html
    for complete details on the impact to the library.
Solution:
    Changes to the base library include removing the ability of compound
    datatype fields to be an array (they can use an array type for the field,
    to duplicate the functionality) and adding in the new array datatype
    everywhere appropriate. (I hope :-)
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-09 16:45:27 -05:00
Bill Wendling
c0dec49299 [svn-r2840] Purpose:
Regenerated
Description:
	Just regenerated the H5config.h.in file with the newest changes
	from Thomas.
2000-11-09 00:10:20 -05:00
Thomas Radke
a8b655ff03 [svn-r2832]
Purpose:
    Bugfix.
Description:
    Renamed the H5_HAVE_STRUCT_SOCKLEN_T into H5_HAVE_SOCKLEN_T
    because it isn't really a structure.
2000-11-08 17:35:29 -05:00
Thomas Radke
ae1a3c1300 [svn-r2830]
Purpose:
    Bugfix
Description:
    Rename the [H5_]HAVE_STRUCT_SOCKLEN_T into [H5_]HAVE_SOCKLEN_T.
Solution:
    As pointed out by Bill the socklen_t type isn't a structure if
    is it defined by the system headers.
    So we should better take out the _STRUCT_ from the defines.
Platforms tested:
2000-11-08 17:33:24 -05:00
Thomas Radke
4c52fde41a [svn-r2817]
Purpose:
    Bugfix
Description:
    The socklen_t was hardcoded to be defined as int on architectures
    other than Linux and SUN (Solaris).
    Now it turned out that Solaris isn't consistent in this manner.
    Versions earlier than 2.7 do not define this type.
Solution:
    Check at configure time whether the socklen_t type is defined
    by the system header includes. If not than this type is defined
    to be 'int'.
Platforms tested:
    Solaris 2.6 and 2.7
    Linux
    IRIX64
    Windows NT (command line configure with both cl abd gcc)
2000-11-08 15:36:06 -05:00
Thomas Radke
b7170a25ce [svn-r2816]
Purpose:
    Bugfix
Description:
    Added defines for HAVE_SYS_TYPES_H, HAVE_SYS_SOCKET_H, and HAVE_STRUCT_SOCKLENT_T.
Platforms tested:
    Solaris 2.6 and 2.7
    IRIX64
    Linux
    Windows NT (command line configure with gcc and cl)
2000-11-08 15:05:36 -05:00
Dan Wells
7808e2adac [svn-r2811]
Purpose:
    Bug fix.
Description:
    The names of some entries did not correspond with the names in the
    FUNC_ENTER macro.  This would cause inaccuracies during Pablo tracing.
Solution:
    The names were changed in FUNC_ENTER to agree with the entry names.
Platforms tested:
    Solaris, Irix, AIX, HP Vclass
2000-11-08 09:33:19 -05:00
Robb Matzke
564b68cecc [svn-r2807] ./hdf5/src/H5Fistore.c
* 2000-11-07 Robb Matzke  <matzke@llnl.gov> (H5F_istore_preempt)
	Returns error if call to
	H5F_istore_flush() failed.
2000-11-07 11:00:46 -05:00
Robb Matzke
88c57a3281 [svn-r2806] ./hdf5/src/H5Epublic.h
* 2000-11-07 Robb Matzke  <matzke@llnl.gov>
	Reindented a couple of comments.
2000-11-07 11:00:44 -05:00
Raymond Lu
9c109121c4 [svn-r2805]
Purpose:
    Fix typos in these files.
Description:
    In the functions H5Pset_apl_xxx in these files, the parameters of
    FUNC_ENTER do not match the function names.  So changed them back
    to function names.
Solution:
    [details about the changes, algorithm, etc...]
    [Please as detail as you can since your own explanation is
    better than others guessing it from the code.]
Platforms tested:
    No test has been done because these are all typos, no effect on
    program.
2000-11-07 10:43:21 -05:00
Quincey Koziol
3293e213ce [svn-r2804] Purpose:
Bug Fix
Description:
    Selections in 1-D dataspaces would get into an infinite loop in
    H5S_hyper_select_iterate_mem_opt (called by H5Diterate and
    H5Dget_vlen_buf_size) due to some incorrect logic.
Solution:
    Handled 1-D cases correctly and get out of loop.
Platforms tested:
    Eyeballed...
2000-11-06 19:27:03 -05:00
Thomas Radke
fd36aa4b67 [svn-r2803]
Purpose:
    Bugfix
Description:
    Large data files were truncated at the receiver's side.
Solution:
    Check against EWOULDBLOCK when sending the data and retry.
Platforms tested:
    T3E (other platforms had no such problem).
2000-11-04 22:12:37 -05:00
Bill Wendling
95b960a4a0 [svn-r2793] Purpose:
Bug Fix
Description:
	Some of the HRETURN types were incorrect. They were NULL when
	they should have been FAIL.
Solution:
	Changed the NULLs to FAILs.
Platforms tested:
	Linux
2000-11-02 15:48:45 -05:00
Albert Cheng
0a6cfff27d [svn-r2774] H5FD.c:
Purpose:
    Bug fix
Description:
    H5FD_close() wiped clean the public information before
    closing the FD.  This caused problem to the lower level
    close() which wants to verify it has indeed handed a valid
    file-driver to close because that information is wiped out
    prematurely.
Solution:
    Moved the public information part cleaning after it is closed.

H5FDmpio.c:
    Added in a bunch of assertion to make sure the file handle is indeed
    an MPIO file.

Platforms tested:
    IRIX64 -64 parallel
2000-10-31 13:02:03 -05:00
Robb Matzke
e787e3659c [svn-r2766] ./hdf5/src/H5T.c
Updated API tracing calls
2000-10-31 11:18:41 -05:00
Robb Matzke
47647e8ffb [svn-r2765] ./hdf5/src/H5S.c
Updated API tracing calls.
2000-10-31 11:18:39 -05:00