-----
import std.math;
import std.stdio;
void main()
{
writefln("nextUp of %a is %a", 1.0, 1.0.nextUp());
real num = 1.0;
writefln("nextUp of %a is %a", num, num.nextUp());
}
-----
This prints:
nextUp of 0x1p+0 is 0x1.0000000000001p+0
nextUp of 0x1p+0 is 0x1.0000000000000002p+0
Any idea why the results are different?