On Mon, 27 Jun 2011 16:41:14 -0400, bearophile wrote: > This question is related to this thread: > http://d.puremagic.com/issues/show_bug.cgi?id=3632 > > Can you tell me why real.nan and real.init don't contain the same bit > patterns? > > > import std.math: isIdentical; > void main() { > assert(isIdentical(real.nan, real.init)); // this asserts > }
real.init is a signaling NaN, real.nan is not. I don't know if this is by design, but I suppose it may be: You can "quiet" a signaling NaN by assigning real.nan to your variable. http://en.wikipedia.org/wiki/NaN#Signaling_NaN -Lars
