accuracy of floating point calculations: d vs cpp

Guillaume Piolat first.last at gmail.com
Mon Jul 22 13:23:26 UTC 2019


On Monday, 22 July 2019 at 12:49:24 UTC, drug wrote:
> I have almost identical (I believe it at least) implementation 
> (D and C++) of the same algorithm that uses Kalman filtering. 
> These implementations though show different results (least 
> significant digits). Before I start investigating I would like 
> to ask if this issue (different results of floating points 
> calculation for D and C++) is well known? May be I can read 
> something about that in web? Does D implementation of floating 
> point types is different than the one of C++?
>
> Most of all I'm interesting in equal results to ease comparing 
> outputs of both implementations between each other. The 
> accuracy itself is enough in my case, but this difference is 
> annoying in some cases.

Typical floating point operations in single-precision like a 
simple (a * b) + c will provide a -140dB difference if order is 
changed. It's likely the order of operations is not the same in 
your program, so the least significant digit should be different.




More information about the Digitalmars-d-learn mailing list