Hi,
This has been reported at
https://rt.perl.org/Public/Bug/Display.html?id=132347 .
That particular ticket is now closed, as it's encompassed in
https://rt.perl.org/Public/Bug/Display.html?id=132385
Test 13 ("patchbad2d") fails.
The problem is with line 118 of t/image2d.t:
$m .= $pa->badvalue;
With perl-5.26.0 that produces a $m that looks like:
[
[-1.7976931e+308 -1.7976931e+308 -1.7976931e+308]
[-1.7976931e+308 -1.7976931e+308 -1.7976931e+308]
[-1.7976931e+308 -1.7976931e+308 -1.7976931e+308]
]
whereas, with current blead, we get:
[
[-Inf -Inf -Inf]
[-Inf -Inf -Inf]
[-Inf -Inf -Inf]
]
For both of those perls $m is identical and $pa->badvalue is reported
as -1.79769313486232e+308 - hence the difference is in the overloading of
the .= operator.
Both blead and 5.26 recognize that $pa->badvalue == POSIX::DBL_MAX * -1.0,
so it's rather puzzling that $pa->badvalue should end up as -Inf.
However "-1.79769313486232e+308" when assigned to a double (rounded to
nearest) is actually less than POSIX::DBL_MAX * -1.0, so '-Inf' is perhaps
not so surprising after all.
OTOH, -1.7976931e+308 is greater than POSIX::DBL_MAX * -1.0 :
C:\>perl -e "print -1.79769313486232e+308;"
-Inf
C:\>perl -e "print -1.7976931e+308;"
-1.7976931e+308
Additionally, in the course of taking a quick look at this, I discovered
that:
$m .= $pa->badvalue;
and
$m = $m . $pa->badvalue;
do not do the same thing.
I find that very surprising. (And it's like that on perl-5.26, not just
blead.)
Cheers,
Rob
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
pdl-devel mailing list
pdl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pdl-devel