Viewing Issue Simple Details
[ Jump to Notes ]
|
[ View Advanced ]
[ Issue History ]
[ Print ]
|
ID |
Category |
Severity |
Reproducibility |
Date Submitted |
Last Update |
0000205 |
[ALGLIB] General |
minor |
have not tried |
2009-11-27 11:18 |
2009-12-14 10:37 |
|
Reporter |
SergeyB |
View Status |
public |
|
Assigned To |
SergeyB |
Priority |
normal |
Resolution |
fixed |
|
Status |
resolved |
|
Product Version |
|
|
Summary |
0000205: FIXED: non-IEEE floating point comparison in C++, C#, Delphi, FreePascal |
Description |
x86 FPU uses 80-bit floating point arithmetics for internal calculations, while in-memory data are stored in 64-bit precision.
Sometimes it leads to unexpected results, for example: you may assign sqrt(3) to A, and still get A<>sqrt(3) (just because A is stored in memory and has double precision, and second sqrt(3) is stored in FPU and has long double precision).
Several unit tests were (erroneously) failed due to floating point inconsistency.
Now all sources use IEEE-compliant floating point comparisons independently of compiler/platform. |
Additional Information |
|
|
Programming language |
Unspecified |
|
Attached Files |
|
|