On Mon, 13 Jun 2016 03:20:34 -0700, zef...@fysh.org wrote: > > my $a = 0.Num > 0 > > my $b = -$a > -0 > > $a > 0 > > $b > -0 > > $a.WHICH > Num|0 > > $b.WHICH > Num|-0 > > atan2($a, -1) > 3.14159265358979 > > atan2($b, -1) > -3.14159265358979 > > $a === $b > True > > These two values, the two floating point zeroes, are distinct values, as > shown by their stringification, .WHICH, and atan2 branch cut behaviour. > The === comparison is producing the wrong answer, claiming that they're > the same value. They are of course correctly ==, but === is making a > different kind of comparison. In the related case of NaN compared to > NaN, === correctly says that NaN is the same value as itself, despite > it not being == to itself. > > -zefram
Thank you for the report. This is now fixed \o/ rakudo: https://github.com/rakudo/rakudo/commit/085145f3a5 tests: https://github.com/perl6/roast/commit/f67de6cf58