On Tue, 02 Aug 2016 10:55:34 -0700, zef...@fysh.org wrote:
> > 1180591620717411303424e0 == 1180591620717409992704e0
> > 1180591620717411303424e0 === 1180591620717409992704e0
> Say what? These are distinct Num values, differing by 10 ulp.
> These literals work fine in other contexts:
> > my $a = 1180591620717411303424e0
> > my $b = 1180591620717409992704e0
> > $a.Int
> > $b.Int
> > $a == $b
> > $a === $b
> == and === give the right result when applied to $a and $b as here, or
> when applied to declared constants ("constant \A = 118..."). They also
> work fine when comparing a variable against a literal. They go wrong when
> applied directly to two literal expressions. They also go wrong with some
> more complex expressions that bring in both values as literals, such as if
> both sides are multiplied by 1.0e0 or by a variable containing that value.
Thank you for the report. This is now fixed.