On Saturday, 8 August 2020 at 22:13:57 UTC, Bruce Carneal wrote:


Per the original post in this thread, the current compiler doesn't convert decimal floating point literals to binary form correctly in all normal cases. Assuming people actually want to be correct/consistent to the last bit wherever possible, that should change.

Additionally, the default library conversions should match those of the compiler. They should also be correct/consistent.

This could be accomplished by introducing Mir dependencies in a few places but I think fully accredited copying is a better way to go. There is more to maintain, true, but accurate conversion is fundamental in nature. We're not talking about some high level library here. Hard to get right? Apparently. Esoteric? No.

As to timing, if the subnormal update Ilya mentioned is very close it would make sense to wait for that version.

Side note: the truly persnickety/paranoid might favor hex floating point literals but those are pretty hard on human readers. At least the conversion implementations should not require heroics.

OTOH, this is pretty small potatoes when compared to other CTFE floating point discrepancies (no control of precision, all to 'real' IIUC). Maybe the best that can be done is to align the library with better practice.



Reply via email to