On 12/17/2015 03:50 AM, drug wrote:
> D and C++ [...] But with some data the results differ
You may have similar results between two C and two C++ compilers, even
between two different versions of the same compiler.
In addition to possible reasons that has already been mentioned, note
that function arguments can be evaluated in any order by compilers of C
and C++ (D uses left-to-right). For example, for the following
expression, gcc evaluates bar() first but dmd (and other D compilers)
evaluate foo() first:
h(foo(), bar())
If foo() and bar() have side effects on floating values, those values
can be observed differently.
Ali