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

Reply via email to