Skip to main content


A new release of PDL is out! It's been about a year since I last posted on here about a PDL release (last was PDL 2.083).

A selection of changes since PDL 2.083:

  • Diab Jerius reported that a previous change to [xyz]vals to return at least a double had a regression for code that requests an explicit type smaller than that. Fixed in 2.085.
    Diab Jerius also reported several other edge cases: 1, 2, 3 including a fix for vsearch.

    Also, Diab Jerius modularised the primitive ops tests which allows for faster parallel testing.

  • Harald Jörg reported that large arrays would cause PDL::FFT to crash. Fixed by switching from the stack VLAs to heap allocation. Fixed in 2.085.
    While it is recommended to use PDL::FFTW3 instead, PDL::FFT is bundled with PDL for the cases where PDL::FFTW3 can not be easily installed.
  • Bas Couwenberg reported and fixed a previously deprecated API in HDF4 which has now been removed and replaced. Fixed in 2.085.
    As part of the Debian release process, Bas Couwenberg reported a failure on i386. Fixed in 2.087.
  • Shawn Laffan provided an improvement to PDL::GIS::Proj so that it would load correctly on Windows via Alien::proj.
  • Po-Chuan Hsieh provided a build fix for FreeBSD on amd64. I also happened to talk to James E Keenan around the same time about PDL builds on FreeBSD so this was followed up by adding CI testing for FreeBSD. Fixed in 2.085.
  • Ryan Egesdahl provided a fix for macOS Ventura which changed the location of GLUT headers. Fixed in 2.085.
  • Eli Schwartz reported an upstream Gentoo bug when building with LTO that uncovered 64-bit issues in Minuit and Slatec Fortran code. Fixed in 2.086.
  • @vadim-160102 reported several issues with stringification: 1, 2; one of which uncovered a bug in conversion of ulonglong to Perl scalar.
  • Karl Glazebrook, @vadim-160102, and users from PerlMonks provided valuable reports in tracking down issues with dataflow https://github.com/PDLPorters/pdl/issues/461. Fix available in 2.086.
  • Jörg Sommrey contributed improved typemap handling which allows for using the typemap definitions that are available in Perl's default typemap. Available in 2.086.
  • Ed has added many improvements to the PP code generator and internal API as well as several new functions. Please see the Changes file for details!
    Of note are several speed improvements that are inspired by Eric Wheeler's note about the speed of sequence().

A full list of closed issues and PRs is here. Thanks to all the contributors!

There are also some things to report from the wider World of PDL:

  • Jörg Sommrey has released a PDL interface to GLPK (GNU Linear Programming Kit) for mathematical optimization: https://metacpan.org/pod/PDL::Opt::GLPK.
  • The PGPLOT distribution now incorporates PDL::Graphics::PGPLOT module that was in the PDL distribution. The dependencies remain the same.
  • PDL::Graphics::Simple had some small updates to the drivers. This is preparation for splitting the backend engines to their respective backend distributions (not yet released) and defining an API version that the engines conform to.

submitted by /u/zmughal
[link] [comments]