On Friday, 14 October 2022 at 09:00:11 UTC, Patrick Schluter wrote:
On Thursday, 13 October 2022 at 19:27:22 UTC, Steven Schveighoffer wrote:
On 10/13/22 3:00 PM, Sergey wrote:
[...]

It doesn't look really that far off. You can't expect floating point parsing to be exact, as floating point does not perfectly represent decimal numbers, especially when you get down to the least significant bits.

[...]
To me it looks like there is a conversion to `real` (80 bit floats) somewhere in the D code and that the other languages stay in `double` mode everywhere. Maybe forcing `double` by disabling x87 on the D side would yield the same results as the other languages?

Looking through the source code then for floating points we call `parse!double` when parsing the json as a floating point.

I don't see real being used anywhere when parsing.

So if anything then it would have to be internally in parse or dmd. I haven't checked either yet.

Reply via email to