On Thursday, 29 August 2013 at 08:26:11 UTC, Jonathan M Davis wrote:
On Thursday, August 29, 2013 10:07:31 Paul Jurczak wrote:
On Thursday, 29 August 2013 at 07:51:40 UTC, Jonathan M Davis
wrote:
[..]

> as any integral value in a float will fit in an
> int.

[..]

Will it? Most of them will not fit

Sure, they will. float has 32 bits, just like int, so it can't possibly hold a
value larger than an int can hold.

float can't hold more distinct values than int, but a float can have integer values greater than int.max. (Also, there are int values that a float cannot store.)

This code passes with flying colors

    foreach(i; int.min .. int.max)
        assert(cast(float)i == i);

That's because both sides are casted to float.

[...]
float.max isn't an integral value,

It's not a value that an int can store, but it's an integer in the mathematical sense.

Reply via email to