Bug?

anonymous via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Oct 23 15:07:21 PDT 2014


On Thursday, 23 October 2014 at 21:42:46 UTC, anonymous wrote:
> On Thursday, 23 October 2014 at 21:17:25 UTC, deed wrote:
>> Some testing can be found on http://dpaste.dzfl.pl/5f55f4152aa8
>> for both Windows and Linux. This just illustrates the sin 
>> function.
>
> I think the tests marked "[1]" are expected to fail. They 
> involve
> converting one operand of the comparison to double, but not the
> other. The comparison is done using real precision. So, one
> operand goes through a real->double->real conversion, which
> changes the value.

Then again, I guess they're not guaranteed to fail. I remember
that the compiler is free to use higher than specified precision,
and that Walter feels strongly that this is the right thing to
do. So, the compiler could skip the conversion to double, making
the operands equal again.

And this is presumably what happens in the other failing tests,
where both operands are nominally doubles. One operand is indeed
converted to double. But the other is not, because the compiler
is free to do either.


More information about the Digitalmars-d-learn mailing list