summaryrefslogtreecommitdiffstats
path: root/src/H5Tconv.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r5579] Purpose:Bill Wendling2002-06-101-3/+14
| | | | | | | | | | | | | | Copyright Fix Description: Switched the copyright statements from the old, bad version to the new version we got from the lawyers. Note: not every file was changed. There are some files which have copyrights not to NCSA (see the Stream VFD and some of the GIF conversion modules didn't have copyrights, so I didn't know if they were from others or from us). I left those alone. If others think they should be changed, please feel free to do so. Platforms tested: Linux
* [svn-r5359] MuQun Yang2002-05-061-2/+2
| | | | | | | | | | | | | | | Purpose: 1. code clean-up 2. bug fix Description: 1. windows complian data casting from large size to small size use H5_ASSIGN_OVERFLOW and H5_CHECK_OVERFLOW to erase some warnings 2. in H5TB.c, cmp_addr is used to compare two different address. However, cmp_addr is defined as an unsigned integer which may cause problems when the difference is negative. Solution: 2. Use H5Fcmp_address macro to replace cmp_addr in H5TB.c. Platforms tested: linux 2.2.18 and windows 2000
* [svn-r5350] MuQun Yang2002-05-031-3/+5
| | | | | | | | | | | | Purpose: code clean up to erase warnings on windows Description: most warnings are due to casting from data type of large size to that of small size Solution: Using H5_CHECK_OVERFLOW and H5_ASSIGN_OVERFLOW Platforms tested: linux 2.2.18 and windows 2000
* [svn-r5190] Purpose:Quincey Koziol2002-04-171-32/+63
| | | | | | | | | | | | | | | | | | | Bug fix Description: When several level deep nested compound & VL datatypes are used, the data in the nested compound datatypes is incorrectly sharing the same "background buffer", causing data corruption when the data is written to the file. Solution: Allocate a separate background buffer for each level of the nested types to convert. (Also allocate temporary background buffers for array datatypes, where this sort of problem could occur also) Added more regression tests to check for these errors. Platforms tested: FreeBSD 4.5 (sleipnir) & Solaris 2.6 (baldric)
* [svn-r4857] ./hdf5-1.4/src/H5Tconv.cRobb Matzke2002-01-251-539/+403
| | | | | | | | | | | | | | | | | | | Fri Jan 25 10:48:54 2002 Robb Matzke <matzke@arborea.spizella.com> * src/H5Tconv.c (H5T_conv_order): Removed Duff's device consisting of >500 lines of code. Unrolled two loops by hand resulting in <300 lines of code which is a few percent faster and far easier to read. Fri Jan 25 10:48:34 2002 Robb Matzke <matzke@arborea.spizella.com> * src/H5Tpkg.h: Added prototype for H5T_conv_order_opt(). Fri Jan 25 10:47:13 2002 Robb Matzke <matzke@arborea.spizella.com> * src/H5T.c (H5T_init_interface): Registered conversion function H5T_conv_order_opt() under two names. H5T debugging will report the conversion function as either "ibo(opt)" or "fbo(opt)".
* [svn-r4769] Purpose:Quincey Koziol2002-01-031-2/+0
| | | | | | | | | | Bug Fix/Code Cleanup Description: Duplicated call to H5T_path_find was being made. Solution: Removed one... :-) Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r4394] Purpose:Quincey Koziol2001-08-201-14/+16
| | | | | | | | | | Bug Fix Description: Byte swapping routine was failing when attempting to convert 0 elements. Solution: Don't try to swap when there are no elements... :-) Platforms tested: Solaris 2.7 (arabica)
* [svn-r4391] Purpose:Quincey Koziol2001-08-191-4/+6
| | | | | | | | | | Bug fix. Description: Byte swapping algorithm wasn't converting the last 8 elements correctly. Solution: Used correct variable... :-) Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4378] Purpose:Quincey Koziol2001-08-171-7/+534
| | | | | | | | | | | Code improvement Description: The byte swapping routine for data conversion was inefficient. Solution: Applied a number of optimizations which should yield around a 2-3 times faster algorithm. Platforms tested: Solaris 2.6 (baldric)
* [svn-r4360] Purpose:Quincey Koziol2001-08-151-32/+32
| | | | | | | | | | | | | | | | | | | | | | | | 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). (Merged from the same changes to development branch) Solution: Changed the uintn & intn's to unsigned and int's respectively. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r3934] Purpose:Bill Wendling2001-05-151-6/+6
| | | | | | | | | | | | | | | | Code Update Description: Ported change from the 1.5 branch to the 1.4 branch where all HDF5 include files are in quotes instead of angle brackets: #include "hdf5_file.h" instead of #include <hdf5_file.h> Platforms tested: Linux
* [svn-r3384] Purpose:Quincey Koziol2001-02-091-1/+3
| | | | | | | | | | | | | | Bug Fix Description: The 'carry' variable in the general floating point-to-floating point conversion routine wasn't getting initialized correctly and was causing problems while converting certain sequences of floating point numbers on the Cray SV1. Solution: Added 'else carry=0;' line to always reset the carry variable to a known value. Platforms tested: Cray SV1 (killeen)
* [svn-r3346] ./hdf5-1.4/src/H5Tconv.cRobb Matzke2001-02-031-0/+36
| | | | | | | | 2001-02-03 00:19:25 Robb Matzke <matzke@llnl.gov> * H5T_conv_f_f: Fixed a bug where I had forgotten to increment the floating-point exponent if rounding the significand resulted in a carry. Thanks to Guillaume Colin de Verdiere for finding this one!
* [svn-r3252] Purpose:Quincey Koziol2001-01-091-1021/+1018
| | | | | | | | | | | | | 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-r3138] Purpose:Quincey Koziol2000-12-141-5/+12
| | | | | | | | | | | Bug Fix Description: More descrimination is necessary for the type of background buffer needed. Compound types need H5T_BKG_TEMP and vlen & array types need H5T_BKG_YES. Solution: Make the internal routine be more specific about the background type set. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3133] Purpose:Quincey Koziol2000-12-141-5/+5
| | | | | | | | | Bug fix Description: Set the background buffer type to different values for compound vs. vlen & array datatypes. Platforms tested: Cray J90 (killeen)
* [svn-r3131] Purpose:Quincey Koziol2000-12-131-0/+4
| | | | | | | | | | | | Bug fix Description: Non-optimized conversions have a memory overwrite bug when the destination size of a compound datatype is greater than the source size. Solution: Corrected direction of walking through the destination array for final copying. Platforms tested: FreeBSD 4.2 (hawkwind) & Cray J90 (killeen)
* [svn-r3110] Purpose:Quincey Koziol2000-12-111-1/+1
| | | | | | | | | | | Bug Fix Description: Compound datatypes weren't reading background data properly when used with array or vlen fields. Solution: Changed to always read background information from file in those situations. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3020] Purpose:Quincey Koziol2000-11-291-58/+1
| | | | | | | | | | Code addition Description: The dumper needs to know when a datatype needs to be reclaimed, so I added a small helper function to detect if a particular datatype is or contains a particular class of datatypes. Platforms tested: Linux 2.2.16-3smp (eirene)
* [svn-r3019] Purpose:Quincey Koziol2000-11-291-6/+6
| | | | | | | | Patch on the patch of my code cleanup... :-) Description: Fix compiler problems with previous code patching... Platforms tested: Linux 2.2.16-3smp (eirene)
* [svn-r3015] Purpose:Quincey Koziol2000-11-291-27/+115
| | | | | | | | | | | | | | | | | Bug fixes Description: Patch things back up from incompletely changing some variables in yesterday's code cleanup, this should fix the compiler errors that Kent and Bill have found in the CVS version of the code. Also, fix a bug buried in the datatype conversions when compound datasets were nested inside an array or variable-length datatype. Internally require that any datatype which contains a compound datatype sets the "need_bkg" conversion flag so a background buffer to pass to the compound datatype conversion is allocated. Platforms tested: FreeBSD 4.2 (hawkwind) & Solaris 2.6 (baldric)
* [svn-r3013] Purpose:Quincey Koziol2000-11-281-5/+2
| | | | | | | | | Code cleanup Description: Cleaned up a few warnings which cropped up with different configure switches. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3005] Purpose:Quincey Koziol2000-11-271-1/+1
| | | | | | | | Backward compatibility code Description: Add in code to allow the library to emulate the v1.2 API and behavior. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r2952] Purpose:Quincey Koziol2000-11-161-22/+36
| | | | | | | | | | | | | 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)
* [svn-r2865] Purpose:Quincey Koziol2000-11-111-9/+0
| | | | | | | | Code Cleanup Description: Removed unused variable. Platforms tested: FreeBSD 4.1.1 (hawkwind)
* [svn-r2854] ./hdf5/src/H5Tconv.cRobb Matzke2000-11-101-1/+1
|
* [svn-r2843] Purpose:Quincey Koziol2000-11-091-126/+227
| | | | | | | | | | | | | | | 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)
* [svn-r2657] Quincey Koziol2000-10-101-7/+5
| | | | | | | | | | | | Purpose: Parallel Bug Fixes Description: Was out of sync with header file re-arrangements I checked in last night. Solution: Fixed to use new header files, etc. Platforms tested: O2K (modi4)
* [svn-r2652] Purpose:Quincey Koziol2000-10-101-2/+2
| | | | | | | | | | | | | | | Maintainance & performance enhancements Description: Re-arranged header files to protect private symbols better. Changed optimized regular hyperslab I/O to compute the offsets more efficiently from previous method of using matrix operations. Added sequential I/O operations at a more abstract level (at the same level as H5F_arr_read/write), to support the optimized hyperslab I/O. Platforms tested: Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
* [svn-r2597] Purpose:Quincey Koziol2000-09-261-2/+2
| | | | | | | | | | | Fix compiler warning Description: "HUGE_VAL" (a double value) was being put into a float type and generating a warning during compile time. Solution: Replaced "HUGE_VAL" with "FLT_MAX" Platforms tested: FreeBSD 4.1
* [svn-r2262] * 2000-05-18Robb Matzke2000-05-181-311/+444
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ** src/H5Tconv.c ** src/H5Tpkg.h ** src/H5Tpublic.h The H5T_conv_struct_opt() function had a design flaw -- it didn't keep information about the stride to use to step through the temporary/background-value buffer and thus nested invocations would clobber each other's temp buffers. This was fixed by splitting the `stride' argument into `buf_stride' and `bkg_stride' arguments for all the conversion functions. THIS IS AN API CHANGE, but users will get a compiler warning when they pass their conversion function pointer to H5Tregister(). ** src/H5T.c ** src/H5Tprivate.h Added a bkg_stride argument to the H5T_convert() definition in order to fix a bug related to the optimized compound datatype conversion function. ** src/H5T.c ** src/H5A.c ** src/H5D.c ** src/H5Ofill.c ** src/H5P.c Added bkg_stride=0 argument to the H5T_convert() calls. ** test/dtypes.c Added a test for the H5T_conv_struct_opt() bug fixed above. ** src/H5FL.c The H5FL_term() function should return non-zero even when it couldn't free all the free lists do to their being used by some other package. When that other package terminates it will return non-zero, causing H5FL_term() to be called again. This fixes some of the `infinite loop closing library' messages. ** tools/pdb2hdf Uses print_version() instead of doing that itself. ** src/H5Ppublic.h Renamed H5Pget_gc_reference() declaration to make it match the definition. ** src/H5FDlog.c Added API tracing macros. Removed `const' qualifier from a `char*' member of a struct which was allocated on the heap. ** src/H5TB.c Added curly braces to a couple deeply-nested `if' statements to make them clearer and to shut up the increadibly stupid and just plain incorrect gcc warning about ambiguous `else'. ** test/titerate.c Removed incomplete initialization in favor of memset() for one auto variable to stop compiler warnings. ** tools/Depencencies Regenerated to remove references to h5dumputil.c
* [svn-r2073] Added free-list code to the library and took out the older ↵Quincey Koziol2000-04-041-10/+13
| | | | | | | "temporary buffer" code, since the functionality was superceded. See the followup document for details on the free-list code.
* [svn-r2009] PurposeAlbert Cheng2000-03-081-1/+1
| | | | | | | | | | | | | | Bug fix. Description When converting a floating point zero to a different format (e.g. Cray), the mantissa part was not set to zeros complete. Cray does not seem to mind since the exponent part was set to all 0's. Somehow, the HDF4 does not like it and convert that pattern to a non-zero value in IEEE. Solution corrected the code to set the whole mantissa to zeros completely. Platform tested: J90 & Solaris 2.7.
* [svn-r1847] ** src/H5T.cRobb Matzke1999-11-231-429/+509
| | | | | Fixed a bug with enumeration types not having the correct object header pointer.
* [svn-r1836] Mainly fixed a bug in VL datatype comparisons which was causing ↵Quincey Koziol1999-11-171-453/+451
| | | | | | | non-equal VL types to compare as equal. Added some asserts to make certain nothing slips through again. Also cleaned up a few warnings from the SGI compiler.
* [svn-r1702] Closed some more memory leaks on failure conditions...Quincey Koziol1999-10-011-0/+6
|
* [svn-r1689] Mainly adding support for "native" variable-length strings (C ↵Quincey Koziol1999-09-291-1/+2
| | | | | | | | only currently), but I fixed lots of misc. compiler warnings in other code and also tracked down the memory overwrite bug that was causing the development branch to core dump on most machines.
* [svn-r1651] Fold in J90 changesQuincey Koziol1999-09-241-4/+4
|
* [svn-r1568] Changes since 19990730Robb Matzke1999-08-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- This extensive change is the virtual file layer implementation. I've ported and tested the sec2, family, and core drivers and only ported the mpio driver (Albert will test it). So if you need MPIO I would recommend sticking with the previous version for a while. You will get a few compile warnings about split and stdio drivers not being implemented and possibly tracing information not inserted in some of the drivers. You can safely ignore them but I plan to fix them. I'm still working on the split driver because I just realized that it needs a part of the VFL that isn't written yet. Documentation is being updated also because there were some minor changes (mostly just name changes). It should be available on my web site later this week. ./MANIFEST ./src/Makefile.in ./src/hdf5.h ./src/H5Flow.c [REMOVED] ./src/H5Fstdio.c [REMOVED] ./src/H5Fsec2.c [REMOVED] ./src/H5Fsplit.c [REMOVED] ./src/H5Fmpio.c [REMOVED] ./src/H5Ffamily.c [REMOVED] ./src/H5Fcore.c [REMOVED] ./src/H5MFpublic.h [REMOVED] ./src/H5FD.c [NEW] ./src/H5FDcore.c [NEW] ./src/H5FDcore.h [NEW] ./src/H5FDfamily.c [NEW] ./src/H5FDfamily.h [NEW] ./src/H5FDmpio.c [NEW] ./src/H5FDmpio.h [NEW] ./src/H5FDprivate.h [NEW] ./src/H5FDpublic.h [NEW] ./src/H5FDsec2.c [NEW] ./src/H5FDsec2.h [NEW] Removed/added files for virtual file layer. ./bin/trace ./src/H5.c Removed unused public datatypes and added new VFL public datatypes. Changed an error message. ./config/BlankForm ./config/dec-flags ./config/gnu-flags ./config/hpux10.20 ./config/hpux9.03 ./config/irix5.x ./config/irix6.x ./config/solaris2.x ./config/unicosmk Removed the H5F_OPT_SEEK and H5F_LOW_DFLT constants from the configuration since they're no longer applicable. The default file driver is always the sec2 driver and it always optimizes calls to lseek() or lseek64(). ./config/depend.in C preprocessor errors generated during automatic dependency building are sent to /dev/null to prevent them from appearing twice in the make output. ./src/H5AC.c ./src/H5B.c ./src/H5D.c ./src/H5F.c ./src/H5G.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5HG.c ./src/H5HL.c ./src/H5O.c ./src/H5Oattr.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Oshared.c ./src/H5T.c ./src/H5detect.c ./test/ohdr.c Changed H5F_ADDR_UNDEF to HADDR_UNDEF to be more consistent with the `haddr_t' datatype which is now a public type. ./src/H5D.c ./src/H5P.c ./src/H5Ppublic.h ./src/H5Tconv.c ./test/cmpd_dset.c ./test/dsets.c ./test/overhead.c ./test/tselect.c ./test/tvltypes.c The H5P_DATASET_XFER constant was changed to H5P_DATA_XFER because the properties apply to all types of I/O operations, not just datasets. ./src/H5B.c ./src/H5Bprivate.h ./src/H5D.c ./src/H5Dpublic.h ./src/H5F.c ./src/H5Farray.c ./src/H5Fistore.c ./src/H5Fprivate.h ./src/H5Fpublic.h ./src/H5Gnode.c ./src/H5Gpkg.h ./src/H5HG.c ./src/H5HL.c ./src/H5O.c ./src/H5R.c ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Smpio.c ./src/H5Spoint.c ./src/H5Sprivate.h ./test/big.c ./test/h5test.c ./test/istore.c ./testpar/t_dset.c ./testpar/t_file.c ./tools/h5debug.c ./tools/h5ls.c Modified to work with the virtual file layer by calling H5FD_* functions instead of H5F_low_* functions and by passing file access and data transfer properties by object ID instead of pointer. Changed H5D_transfer_t to H5FD_mpio_xfer_t since the COLLECTIVE vs. INDEPENDENT transfer mode is specific to the MPIO file driver. Moved MPIO-specific stuff into the MPIO driver. ./src/H5B.c ./src/H5D.c ./src/H5Fprivate.h The H5F_mpio_* private functions were renamed and placed in the H5FDmpio driver except those which appeared in H5Smpio.c. ./src/H5E.c ./src/H5Epublic.h Added major error number H5E_VFL for virtual file layer related errors. ./src/H5F.c ./src/H5Fprivate.h Changed the logic that controls whether the boot block is written. Instead of assuming that the first call to write the boot block is only to allocate space, I've added a function argument which makes this explicit. Changed the way files are compared so that a driver-defined comparison function can be called. Files which belong to different drivers are always considered different. Removed H5F_driver_t since file drivers are now identified by object ID instead of a special non-user-extendible datatype. Removed all the hard-coded low-level file properties which have been replaced by the various file drivers. ./src/H5I.c ./src/H5Iprivate.h Added the H5I_inc_ref() which was removed a few months ago since we finally have a use for it. ./src/H5Ipublic.h Added the H5I_VFL object ID type to identify file drivers in the virtual file layer. ./src/H5MF.c ./src/H5MFprivate.h Moved all the allocation/deallocation code into the virtual file layer which allows file drivers to override much of it. ./src/H5P.c ./src/H5Ppublic.h Moved file driver-specific code into the various file driver files. The H5Pcopy() and H5Pclose() functions make calls into the virtual file driver to manage the memory for driver-specific file access and data transfer properties. ./src/H5private.h ./src/H5public.h The `haddr_t' type is now public. ./test/tfile.c Added a few more comments.
* [svn-r1494] Lots of various bug-fixes on VL datatypes. VL datatype fields ↵Quincey Koziol1999-07-161-5/+1
| | | | | | | in compound datatypes aren't yet working, but other ways of using them (vlen atomic, vlen compound and vlen vlen atomic, etc.) are working.
* [svn-r1418] Modified H5Tconvert to require a dataset transfer property ↵Quincey Koziol1999-07-031-128/+130
| | | | | | | | | | | | | list ID as the final parameter (so that VL datatypes have a way to pass in the custom memory allocation routines). Fixed a conversion bug when VL fields were part of a compound datatype that was causing the no-op conversion routine to be used instead of the vlen routine. Added the H5Pset_vlen_mem_manager and H5Pget_vlen_mem_manager routines to allow users to provide their own custom memory allocation routines for VL data read in from the file and reclaimed with H5Dvlen_reclaim. Finished coding on H5Dvlen_reclaim so it works now.
* [svn-r1371] Robb Matzke1999-06-231-41/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes since 19990618 ---------------------- ./configure.in ./configure [REGENERATED] Now that compound struct conversions don't make so many calls to convert their members I turned the H5T debugging back on by default (it will still be disabled in a production version). ./src/H5AC.c ./src/H5B.c Made it possible to turn off messages about debugging these two packages using the same method as for all other packages. Just supply an invalid file descriptor number or use the shell to redirect said descriptor to /dev/null like this: $ HDF5_DEBUG=99,ac,b 99>/dev/null a.out ./src/H5T.c Changed the name of the old compound conversion function from `struct' to `struct(no-opt)' to be more consistent with the new version named `struct(opt)'. Fixed a bug in H5T_cmp() that caused any two VL types to compare as being equal. Removed duplicate code for bitfield comparisons in H5T_cmp(). ./src/H5Tconv.c Relaxed some constraints in the new compound conversion function so it applies to more cases. Also eliminated a memcpy in a tight loop. ./test/cmpd_dset.c Added a `--noopt' command line switch which unregisters the optimized compound conversion so we can test the non-optimized version.
* [svn-r1364] Robb Matzke1999-06-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | Changes since 19990618 ---------------------- ./Makefile.in Running `make' in the top directory recurses into the examples directory also except if the make target is one of: lib, progs, check, test, _test, install, uninstall. ./examples/Makefile.in Changed programs into tests, which just means that `make tests' does what `make progs' used to do and that `make check' runs the executables. ./src/H5Tconv.c Fixed a typo in the unsigned-to-signed native converter for large types to small types. This fixes a bug on baldric and possibly other machines for the `dtypes' test. Also fixed a signed vs. unsigned warning.
* [svn-r1362] Robb Matzke1999-06-181-263/+683
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes since 19990616 ---------------------- ./src/H5T.c ./src/H5Tconv.c All conversion functions take an extra argument called `stride' which is the number of bytes to advance the source and destination pointers after each element is converted. If the value is zero then the old behavior is preserved (source and destination values are packed). This feature was necessary to implement the compound datatype conversion optimizations and it causes a minor change to the API (application-defined type conversion functions take an extra size_t stride argument). ./src/H5Tconv.c An additional compound data type conversion function was added which is applied unless the destination type is larger than the source type. I'm measuring significant performance increases for certain operations: Test Name Struct-Conv Noop-Conv New(Old) MB/s New(Old) MB/s ---------- ------------- ------------- Reordering 2.062(0.3936) 54087(0.9047) Subsetting 2.901(0.6581) 40192(1.1100) Shrinking 1.976(0.3925) 33628(1.1500) ---------- ------------- ------------- ./test/dtypes.c Added various compound datatype conversion tests. Fixed return values from functions. ./src/H5T.c Conversion timers are updated only if H5T debugging is turned on a runtime (in addition to compile time). This allows the data type layer to be compiled with debugging support without having to pay a big runtime penalty if the debugging isn't actually used. ./src/H5A.c ./src/H5D.c ./src/H5Ofill.c ./src/H5P.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5Tprivate.h ./src/H5Tpublic.h Added the stride argument to the H5T_convert() calls. The stride is always zero, which means that the source and destination data values are packed. ./configure.in ./configure [REGENERATED] If API tracing is turned off then libhdf5.settings will say `no' instead of nothing. ./test/flush1.c ./test/flush2.c Added better error messages in a couple places.
* [svn-r1311] Changes since 19990607Robb Matzke1999-06-071-1/+3
| | | | | | | | | | | | | | | | | | | | ---------------------- ./tools/h5ls.c ./tools/h5tools.c Added support for printing bitfields and opaque data. ./test/dsets.c Added bitfield and opaque datasets to the output file so h5ls has something interesting to print. ./test/trefer.c Resync'd ./src/H5Tconv.c Fixed bitfield conversion which resulted in possible garbage in high-order bits of destination when the destination type is larger than the source type. Thanks for spotting it, Quincey.
* [svn-r1305] Checkpointing the VL datatype code. I believe the core ↵Quincey Koziol1999-06-041-0/+208
| | | | | | | | functionality is here, accessed with H5Tvlen_create, but I need to start writing tests now. Also the more esoteric API calls (such as H5Tget_vlen_buf_size and the memory management calls) aren't implemented yet.
* [svn-r1292] Changes since 19990430Robb Matzke1999-06-021-0/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- Remove changes from CVS ./bin/release Added a `--nocheck' switch which causes the script to not check the contents of the MANIFEST file against CVS. This is sometimes useful when you need to make a quick snapshot but the MANIFEST file is not quite up to date. ./src/H5D.c Removed warnings for unused variables ./src/H5Fprivate.h Removed the WIN32 definition for `uint' and changed the data type for `eof_written' from `uint' to `uintn'. Shouldn't this really be `hbool_t'? ./src/H5Odtype.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5Tpublic.h ./test/dtypes.c ./doc/html/H5.format.html Added support for bitfields and opaque data types.
* [svn-r1240] Changes since 19990427Robb Matzke1999-04-301-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./tools/h5ls.c Added a `--address' (`-a') switch which causes h5ls to display file addresses for raw data. For contiguous datasets it's just a nice simple number, but for chunked datasets it's a list of logical dataset coordinates, file addresses, filter masks, and storage sizes. Changed `--dump' switch to `--data'. ./src/H5D.c ./src/H5F.c ./src/H5Fprivate.h Enhanced the indexed-storage B-tree iterator so it can dump raw data addresses (and other info) to the standard error stream. Added H5Ddebug() so h5ls has a way to dump addresses for datasets. I'm not sure what else this API function should do, so I think we should discuss it before we document it. So far, h5ls is the only thing that uses it, and we can easily change that. ./src/H5Tconv.c ./test/dtypes.c Finally had a chance to verify Paul's H5T_conv_s_s (general string to string conversions) bug fixes and incorporate them into H5T_conv_f_f (general floating-point to floating-point conversions) and H5T_conv_i_i (general integer to integer conversons). Thanks Paul. ./src/H5D.c ./src/H5S.c ./src/H5Sprivate.h Added performance timers around data space read and write callbacks. They were already there for the gather/scatter callbacks. The timings for read/write callbacks are displayed along with gather/scatter when data space debugging is turned on. ./bin/iostats Updated to print totals. Added a `--fast' option that doesn't do any output except the totals and is much faster. ./bin/trace Changed __unused__ to UNUSED to match source code. ./config/gnu-flags Updated error message for pgcc. I've sent bug reports to the pgcc people but the new version still has the same bug. ./configure.in ./config/conclude.in ./config/depend.in Fixed dependencies for non-GNU makes when run in a directory other than the hdf5 source tree. Updated GNU `make dep' rules to copy the distributed dependencies for non-GNU makes into the source tree when run in some other directory.
* [svn-r1184] Changes since 19990402Robb Matzke1999-04-151-295/+296
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./config/commence.in ./config/conclude.in ./test/Makefile.in ./tools/Makefile.in Fixed so private libraries are not installed publicly. The installation directories `bin', `include', and `lib' are created mode 755. ./src/H5.c ./src/H5A.c ./src/H5F.c ./src/H5Fcore.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5Fmpio.c ./src/H5Fsec2.c ./src/H5Fstdio.c ./src/H5G.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5HG.c ./src/H5HL.c ./src/H5O.c ./src/H5Oattr.c ./src/H5Ocomp.c ./src/H5Ocont.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Ofill.c ./src/H5Olayout.c ./src/H5Omtime.c ./src/H5Oname.c ./src/H5Osdspace.c ./src/H5Oshared.c ./src/H5Ostab.c ./src/H5R.c ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Smpio.c ./src/H5Snone.c ./src/H5Spoint.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Vprivate.h ./src/H5Z.c ./src/H5detect.c ./src/H5private.h ./test/chunk.c ./test/dsets.c ./test/dtypes.c ./test/h5test.c ./test/overhead.c ./test/ragged.c ./test/tattr.c ./tools/h5dump.c ./tools/h5findshd.c ./tools/h5ls.c Changed `__unused__' to `UNUSED' to fix a conflict with GNU header files. ./src/H5Tpkg.h ./test/h5test.h Removed __unused__ from forward function declarations. ./src/H5P.c Removed a comment about restrictions for the type conversion temporary buffers. Thanks to Quincey, the comment no longer applied. ./src/H5T.c Relaxed the H5Tpack() a little so it would pack compound data structures that had non-transient atomic members. ./tools/h5ls.c Added a `-g' (or `--group') flag that causes information to be printed about the specified group instead of the group's contents. (sort of like Unix's `ls -d'). The `-g' can be used in combination with `-r' to print information about the group and its contents.
* [svn-r1182] Changed name of PABLO Mask to simplify automatic definitions.Dan Wells1999-04-141-1/+1
|