Changes for version 0.3412 - 2026-10-29

  • Build: gcc 15.2.0
    • hist() gives R's breaks again when built with gcc 15.2.0, for data whose range is wider than the largest double. pretty() steps its bounds back from an overflowed product with R's own `while (!finite(nu * unit)) nu--`, and gcc 15.2.0 (not 15.1 or 15.3) miscompiles that at -O2 and -O3: the loop stopped one step low, so hist([1.7e308, -1.7e308]) came back with one interval where R has two, and breaks of 0 and 0. A perl 5.44.0 smoker of 0.3411 failed 124 subtests of t/hist.R.t this way. The product now passes through a volatile, which keeps gcc from reasoning back from it to nu; the arithmetic is R's as before. The fault was reproduced with the function extracted, on Compiler Explorer's gcc 15.2.

Modules

Get basic statistical functions, like in R, but with Perl using XS for performance