On 1/31/2018 10:18 AM, zeljko via Lazarus wrote:
Hi all,
In one of my applications I'm using someDouble1 <> someDouble2 for years, now got problem with fpc-3.0.4 (all previous fpc versions were ok (3.0.2, 3.0.0, 2.6.4, 2.6.2, 2.6.0...etc) + kylix + delphi7), so now must use IsSameValue(someDouble1,someDouble2) to get correct comparision of double types.

What exactly have been changed in fpc-3.0.4 with double types (or generally with floats) ?  Do I have to check all of my code now and change comparisions of doubles to use IsSameValue() ?

Anyone boomed by such problem ?
Comparing any floating point value like this is pure luck when you claim that it worked in the past. In any programming language, unless maybe you are using one that by default utilizes BCD floats. Using binary floats, there are just too many values that can't be represented 100%, regardless of the length of the mantissa.
https://en.wikipedia.org/wiki/Floating-point_arithmetic#Accuracy_problems

Ralf

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to