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