On Thursday, 20 December 2018 at 15:15:42 UTC, Andrea Fontana wrote:
On Thursday, 20 December 2018 at 14:49:10 UTC, Marko wrote:
But is this right? I mean if they are equal shouldn't they have the same behavior?

I don't think so:

    float a = 1.0;
    long b = 1;

    writeln(a == b);
    writeln(a/2 == b/2);

Of course you can play around:

    uint  positive_one = 1;
    short minus_one = -1;
    uint max_int = 4294967295;

    writeln(minus_one > positive_one); // true
    writeln(minus_one == max_int); // true

Because promotion and implicit casting. But like I said this is sometimes confusion, and on the OP example it's worth.

Marko.

Reply via email to