double.init is nan ..?
Etienne
etcimon at gmail.com
Fri Mar 14 09:25:59 PDT 2014
On 2014-03-14 12:14 PM, Etienne wrote:
> On 2014-03-14 12:10 PM, Adam D. Ruppe wrote:
>> On Friday, 14 March 2014 at 16:06:17 UTC, bearophile wrote:
>>> And double.init is a NaN.
>>
>> Yes, and the reason for this is NaN is similar to null - an invalid
>> state, so it can help you to catch uninitialized variables.
>>
>> You should explicitly initialize the variables normally and for the
>> cache case, either keep a separate variable to tell if it is initialized
>> (since NaN might be a valid cache state, like how an int may
>> legitimately be 0) or compare using std.math.isNaN.
Ok isNaN works on the deserialized values and simple comparisons works
on the serialized values in the cache store. Struct.init is unreliable
now in my books. Thanks!
More information about the Digitalmars-d
mailing list