floating point verification using is?

Steven Schveighoffer schveiguy at yahoo.com
Fri Dec 18 11:31:00 PST 2009

On Fri, 18 Dec 2009 14:16:17 -0500, Steven Schveighoffer  
<schveiguy at yahoo.com> wrote:

> On Fri, 18 Dec 2009 12:34:09 -0500, bearophile  
> <bearophileHUGS at lycos.com> wrote:
>> Steven Schveighoffer:
>>> If I have 2 identical floating point values, how do I ensure they are
>>> binary equivalents of eachother?
>> Try this inside std.math of Phobos2:
>> bool isIdentical(real x, real y);
> Thanks, that seems to be what I want.

Except it doesn't work with literals properly:

float x;

assert(isIdentical(x, float.init)); // fails

This is what I'm trying to test.  It has to do with the fact that  
float.init is a literal, and I think it's automatically converted to  

This code works:

float x;
float y;

assert(isIdentical(x, y));

I'm going to file a bug on this, float is float should just work!


More information about the Digitalmars-d-learn mailing list