bitmanip.FloatRep functions not inlined?
Guillaume Chatelet via digitalmars-d-ldc
digitalmars-d-ldc at puremagic.com
Fri Jul 7 11:34:50 PDT 2017
Please have a look at the following (incorrect) code:
struct half {
import std.bitmanip;
enum uint bias = 15, fractionBits = 10, exponentBits = 5,
signBits = 1;
this(float value) {
const f_rep = FloatRep(value);
sign = f_rep.sign;
exponent = cast(ubyte)(f_rep.exponent - FloatRep.bias +
bias);
fraction = f_rep.fraction;
}
private:
mixin(bitfields!(
uint, "fraction", fractionBits,
ubyte, "exponent", exponentBits,
bool, "sign", signBits));
}
Any idea why LDC wouldn't inline the FloatRep's functions ?
https://godbolt.org/g/Pzoebd
More information about the digitalmars-d-ldc
mailing list