summaryrefslogtreecommitdiffstats
path: root/test/dtypes.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r9909] Purpose: Bug fix for testRaymond Lu2005-02-011-10/+21
| | | | | | | | | Description: To avoid randomly generating NaN for "long double" during conversion test, decrease the exponent by 1 if all exponent bits are set 1s. Platforms tested: eirene(production) and fuss.
* [svn-r9898] Purpose: Bug fix for test programRaymond Lu2005-01-311-3/+17
| | | | | | | | | | | | | | | | | | Description: For Intel machines, the size of "long double" is 12 byte, precision is 80 bits, mantissa size is 64 bits, and no normalization. So the most significant bit of mantissa is always 1 unless the floating number has special value. This step tries to compensate this case by turning on the most significant bit of mantissa if the mantissa bits aren't all 0s. Solution: Tries to compensate this case by turning on the most significant bit of mantissa if the mantissa bits aren't all 0s. Platforms tested: eirene and fuss(production enabled). Small change for production only.
* [svn-r9886] Purpose: New testRaymond Lu2005-01-291-0/+311
| | | | | | | | Description: Added a test of data type conversion between user-defined integer types. Platforms tested: h5committest and fuss
* [svn-r9853] Purpose: Minor Bug fixRaymond Lu2005-01-211-84/+86
| | | | | | | | Description: A very minor bug fix and some minor changes to reduce the warning messages during compiling. Platforms tested: sleipnir and fuss
* [svn-r9849] Purpose: New test and a few bug fixRaymond Lu2005-01-201-4/+179
| | | | | | | | | Description: Test conversion from native integer to derived floating-point type and convert back; test conversion from derived floating-point to derived floating-point types and convert back. Fixed a few minor bugs related to type conversion in the library. Platforms tested: h5committest and fuss
* [svn-r9841] Purpose: Minor correction in commentsRaymond Lu2005-01-201-4/+4
| | | | Platforms tested: No test needed.
* [svn-r9840] Purpose: Bug fix and new testRaymond Lu2005-01-201-0/+264
| | | | | | | | | | | | | Description: The functions for user-define floating-point type, like H5Tset_fields, H5Tset_offset, H5Tset_precision, H5Tset_size, have some minor bugs. For error checking, the library didn't include offset value somehow. Solution: Corrected those bugs. Platforms tested: h5committest and fuss Misc. update:
* [svn-r9827] Purpose: Minor correctionRaymond Lu2005-01-141-1/+1
| | | | | | | | Description: There was a #ifdef statement with logical AND in it. Solution: Change it to #if statement. Platforms tested: sleipnir and eirene. Simple change
* [svn-r9826] Purpose: Bug fixRaymond Lu2005-01-141-3/+13
| | | | | | | | | | Description: Intel compiler on Linux has some problem to convert long double to unsigned int correctly. Solution: Detect the problem in configure and define a macro to skip this test if it happens. Platforms tested: eirene and fuss. Simple change.
* [svn-r9819] Purpose: Bug fixRaymond Lu2005-01-131-6/+6
| | | | | | | | | | | | | Description: The fix of the loss problem of the last 2 bytes of mantissa on sleipnir has not been successful. It happens when converting from unsigned long long to long double. The failure has been on and off. Solution: Hard set a macro to disable unsigned long long->long double for FreeBSD until a good solution is found to solve this elusive problem. Platforms tested: sleipnir and fuss. Only sleipnir is concerned. Misc. update:
* [svn-r9814] Purpose: Bug fixRaymond Lu2005-01-121-2/+3
| | | | | | | | | | Description: the last 2 bytes of mantissa can be lost when converting from unsigned long long to long double. In last check-in, a fix was made to ignore that precision loss. But sometimes, the last 2 bytes are rounded up to the 3rd last byte. Solution: Ignore the 3rd last byte, too, when comparing values. Platforms tested: sleipnir - only this system is concerned.
* [svn-r9807] Purpose: bug fixRaymond Lu2005-01-111-0/+15
| | | | | | | | | | | Description: For FreeBSD (sleipnir), when GNU compilers do conversion from unsigned long long to long double, the last 2 bytes of mantissa are lost. The impact of precision loss isn't significant. Solution: Detect this case on FreeBSD in configure, ignore it in dtypes.c test instead of return failure. Platforms tested: sleipnir, fuss, modi4. These systems are mainly concerned.
* [svn-r9805] Purpose:Quincey Koziol2005-01-111-3/+1
| | | | | | | | | | Code cleanup Description: Remove obsolete support for Watcom C compiler. Platforms tested: None - too minor to require any.
* [svn-r9783] Purpose: Bug fixRaymond Lu2005-01-081-8/+10
| | | | | | | | | | Description: For HP-UX 11.00, the compiler generates 'floating exception' when converting 'long double' to most of integer types. Solution: Define a macro for all other systems except HP-UX 11.00. Hard set this macro to 'no' in config/hpux11.00 to skip this test for HP-UX 11.00. Platforms tested: modi4, kelgia, fuss
* [svn-r9777] Purpose: Bug fixRaymond Lu2005-01-071-2/+11
| | | | | | | | | Description: Windows .NET 2003 can't handle float(double)->long_long hardware conversion. While the problem hasn't been determined, we temporarily disable that test by using a condition macro. Let Windows define that macro. Other systems don't have it defined. Platforms tested: mir and eirene.
* [svn-r9774] Purpose: Bug fixbefore_removing_tbbt_codeRaymond Lu2005-01-071-15/+21
| | | | | | | | | | | Description: integer->long double conversion test failed on some of Linux systems(mir and eirene) when Intel compiler is used. I'm not able to repeat the problem. So I just made a best guess and fix it. The problem is minor. The long double on Linux is 12 bytes long but precision is 10 bytes. The unused 2 bytes may have garbage in them causing value comparison wrong. Platforms tested: mir and eirene with Intel compiler.
* [svn-r9767] Purpose: Bug fixRaymond Lu2005-01-061-122/+122
| | | | | | | | | Description: 2 small things to correct: 1. the change in H5config.h.in was wept out by a later change. 2. long long isn't supported on Windows. It's long_long instead. Platforms tested: fuss(linux 2.4)
* [svn-r9755] Purpose: New featureRaymond Lu2005-01-061-151/+252
| | | | | | | | | | | | | Description: Start to support software conversion between long double and all integers. Solution: No major changes to the algorithm. Changes to configure is to exclude SGI for long double to integers test because there're too many problems in their compiler. Platforms tested: h5committest, modi4, fuss, Teragrid, arabica Misc. update: RELEASE.txt
* [svn-r9727] Purpose:Quincey Koziol2004-12-291-790/+1007
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-r9445] Purpose: Bug fixRaymond Lu2004-10-211-50/+50
| | | | | | | | | | | Description: "char" was considered as always "signed char" in data type conversion. However, ISO C leaves the definition of "char" to individual implementation. i.e. for IBM AIX C compiler, it's treated as "unsigned char". Solution: Changed all "char" to "signed char". Don't even do "char" anymore because its definition is up to each vendor. Platforms tested: h5committest
* [svn-r9395] Purpose:Quincey Koziol2004-10-101-2/+4
| | | | | | | | | | | Bug fix Description: Correct a couple of array bounds issues exposed by the PGI compiler Platforms tested: Linux 2.4 (verbena) w/PGI compilers Too minor too requie h5committest
* [svn-r9393] Purpose:Quincey Koziol2004-10-091-414/+390
| | | | | | | | | | | | Code cleanup Description: Clean up formatting and some mis-casts, etc. Platforms tested: FreeBSD 4.10 (sleipnir) Linux 2.4 (verbena) Solaris 2.7 (arabica)
* [svn-r9366] Raymond Lu2004-10-051-4/+13
| | | | | | | | | Purpose: feature change Description: Prevent creating datatype of size 0. Platforms tested: fuss(simple change)
* [svn-r9350] *** empty log message ***Raymond Lu2004-10-011-0/+72
|
* [svn-r9053] Purpose:Quincey Koziol2004-08-081-0/+215
| | | | | | | | | | | | | | | | | | | Bug fix Description: Correct possible core dump when a datatype conversion function is registered with the library after a compound datatype has been converted (having it's type conversion information cached by the library). The compound datatype must have been created by inserting the fields in non-increasing offset order to see the bug. Solution: Re-sort the fields in the compound datatypes before recalculating the cached information when performing the conversion on them. Platforms tested: FreeBSD 4.10 (sleipnir) h5committested
* [svn-r8964] Purpose:Quincey Koziol2004-07-281-0/+11
| | | | | | | | | | | | Revise new feature Description: Add buffer type and version # bytes to the encoded datatype and dataspace buffers (for H5Tencode & H5Sencode) Platforms tested: FreeBSD 4.10 (sleipnir) Too minor to require h5committest
* [svn-r8892] Purpose:Quincey Koziol2004-07-161-2/+30
| | | | | | | | | | | | | | Code cleanup Description: Clean up a bunch of warnings and bring new code better inline with current library coding practice. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest Misc. update:
* [svn-r8879] Raymond Lu2004-07-141-17/+166
| | | | | | | | | | | | | | Purpose: New feature Description: New API H5Tencode and H5Tdecode. Given object ID, H5Tencode encodes object information into a binary form. H5Tdecode decode an object information in a binary form, reconstructs the object and return a new object ID. Solution: Use object header functions H5O_dtype_decode and H5O_dtype_encode to facilitate them. The encoded binary is exactly like object header information. This is the first step checkin. Will check in H5Sencode and H5Sdecode later. Platforms tested: h5committed and fuss. Misc. update: will update release.txt after 2nd step checkin.
* [svn-r8782] Purpose:Quincey Koziol2004-07-011-4/+4
| | | | | | | | | | | Code cleanup Description: Clean up almost all warnings from Windows builds. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8732] Purpose:Quincey Koziol2004-06-231-2/+1
| | | | | | | | | | | | Code cleanup Description: Reduce compiler warnings on SGI IRIX Platforms tested: FreeBSD 4.10 (sleipnir) SGI IRIX6 (Cheryl's machine) Too minor to require full h5committest
* [svn-r8706] *** empty log message ***Raymond Lu2004-06-181-0/+196
|
* [svn-r8683] Purpose:Quincey Koziol2004-06-141-63/+64
| | | | | | | | | | | | | Code optimization Description: Use 'size_t' instead of 'hsize_t' to track the number of elements in memory buffers, especially for type conversion. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8646] *** empty log message ***Raymond Lu2004-06-101-0/+203
|
* [svn-r8609] Purpose: bug fixRaymond Lu2004-06-031-0/+1
| | | | | | | Description: internal function opaque_check didn't have prototype. Platforms tested: no test needed for such a simple change.
* [svn-r8605] *** empty log message ***Raymond Lu2004-06-021-5/+51
|
* [svn-r8518] Purpose: uncomment part of code.Raymond Lu2004-05-131-2/+1
| | | | Description: supposed to be there.
* [svn-r8517] *** empty log message ***Raymond Lu2004-05-131-5/+4
|
* [svn-r8509] *** empty log message ***Raymond Lu2004-05-121-0/+14
|
* [svn-r8505] *** empty log message ***Raymond Lu2004-05-111-18/+6
|
* [svn-r8492] *** empty log message ***Raymond Lu2004-05-071-5/+17
|
* [svn-r8481] *** empty log message ***Raymond Lu2004-05-041-2/+2
|
* [svn-r8469] Purpose:MuQun Yang2004-05-031-4/+4
| | | | | | | | | | | | | | | | | | bug fix Description: 1. windows cannot recongize long long. We agree to use long_long to represent all "long long" compatible data types. 2. windows test can not check error code, it depends on error messages to be returned. This will be fixed in the future. In odhr.c, somehow only error value1 is generated, there are no error message even if some tests are missing. So just add an error message when error code is 1. Solution: change long long to long_long in dtypes.c; Add an error message when error code is not 0 in ohdr.c Platforms tested: eirene(fortran), arabica(fortran) Misc. update:
* [svn-r8435] Purpose:Quincey Koziol2004-04-291-0/+19
| | | | | | | | | Temporarily disable float/double->unsigned long long conversion while I work on fix. Platforms tested: Linux 2.4 (verbena) too minor to require h5committest
* [svn-r8427] Purpose:Quincey Koziol2004-04-281-0/+24
| | | | | | | | | | | | | | | | Bug fix (sorta) Description: Add hack to allow the MS Visual Studio 6 compiler to build the library. It cannot cast unsigned long long values to float or double values. So, add another configuration macro to disable this conversion in the library. Just the "hardware" conversion is disabled, so the library will still correctly convert unsigned long long to float and double values, it will just happen more slowly with the "software" conversion routine. Platforms tested: FreeBSD 4.9 (sleipnir) with "Windows" setting faked inappropriate for h5committest
* [svn-r8425] Purpose:Quincey Koziol2004-04-281-22/+35
| | | | | | | | | | | | | | | Bug fix (sorta) Description: The SGI machines have problems accurately (and consistently) converting unsigned long values to float and double values, so put in a bit of a hack in the datatype conversion test code to allow them to get "close enough". This hack is enabled at configure time by a flag which should only be set on machines with this problem. Platforms tested: FreeBSD 4.9 (sleipnir) h5committest
* [svn-r8424] *** empty log message ***Raymond Lu2004-04-271-15/+113
|
* [svn-r8383] Purpose:Quincey Koziol2004-04-181-4/+2
| | | | | | | | | | | | | Code cleanup Description: Clean up lots of warnings based on those reported from the SGI compilers as well as gcc. Platforms tested: SGI O3900, IRIX64 6.5 (Cheryl's SGI machine) FreeBSD 4.9 (sleipnir) w/ & w/o parallel h5committest
* [svn-r8370] Purpose:Albert Cheng2004-04-171-5/+5
| | | | | | | | | | | | | | Bug fix. Description: Not all machines (like Sun and AIX) support fabsl() and fabsf() used in test/dtypes.c. Changed the coding to use macro names HDfabsl and HDfabsf. Also set the two macros to use ABS for now so that they will work for all machines. (need more portable fixes which would involve configure.) Platforms tested: h5committested. (also tested in LANL QSC and Theta).
* [svn-r8360] Purpose:Albert Cheng2004-04-161-0/+28
| | | | | | | | | | | | | | | | | | | | | | bug fix. Description: On LANL QSC, test/dtypes "sw long double -> double" had failed when the long double values were too small, smaller than the minimum double normalized floating number. The hw in QSC converts them mostly to 0 but occasionally, it converts to the some non-zero values which are still <= the minimum double normalized number. But the conversion verification did not like them and flagged them as errors. Solution: Added code to check if the src value is already smaller than the minimum number the float class can hold. When that happens and if both hw and sw conversion results are <= the minimum number, then accepts them as okay because if the src is smaller than the dst minimum number, an underflow has occured. Platforms tested: Tested in LANL QSC and Theta.
* [svn-r8262] Purpose: Avoid bug in some systems.Raymond Lu2004-03-161-5/+15
| | | | | | | | | | Description: unsigned long or unsigned long long failed to be converted to float or double during software conversion on some systems. It's believed there are bugs on those systems(modi4, premium, o2, arabica). Solution: temporarily disable these tests. Platforms tested: Simply comment out. No need to do test.