On Tuesday, 19 January 2021 at 16:14:17 UTC, drug wrote:
https://dlang.org/phobos/std_bitmanip.html#FloatRep
Doesn't this pattern already cover all possible cases of `value` needed?
void f(double value) { auto lvalue = cast(long)value;if (lvalue == value) // `value` lacks fraction and in range [long.min .. long.max]
{ // use long lvalue return; } // use double value }