Dear PDL folks,

PDL 2.064 has just been released. Notable changes since 2.062:

  *   pthreads should now be available on BSD systems
  *   Support for signed and unsigned versions of all integers up to 64-bit, 
and real and complex long double
  *   qsortvec* now work with badvalues as documented
  *   wfits now handles RICE compression
  *   NiceSlice now works correctly with comments and strings
  *   rmpeg added, rpic and wpic work with multi-image PNM files
  *   xvals etc return at least a double, avoiding problems with e.g. byte 
ndarrays
  *   Various API changes (see below)
  *   Improvements to $MACRONAME() handling including that arguments can now 
contain (balanced) brackets
  *   redodims no longer leaks memory
  *   The PROJ.4 interface has been updated to use the PROJ v6+ interface, 
finally
  *   A zeroes() regression from 2.057_01 where it ignored the type of an input 
PDL has been fixed
  *   PDL::Compression is now thread-safe (thanks Derek for the report!)

As part of the “independent C interface” effort, the API of some functions has 
changed, including the PP-generated ones now not returning “void” (and throwing 
Perl exceptions) but a “pdl_error” (so that callers can use them to throw 
exceptions but not necessarily Perl ones, possibly doing cleanup first). This 
broke the Application Binary Interface (ABI), which means you’ll need to 
reinstall your PP-generated PDL extensions. Sorry.

Further to the above – if any of your PP functions do a “return” to terminate 
early, you will need to update that to say “return PDL_err”.

The last dev-release showed FreeBSD 13 (the latest) failing to find “csinl”. 
That is mandated by C99, so we won’t be doing configure probes for it. Please 
update your libm if this causes a problem, and your compiler (including clang 
<12.0.5) if it crashes on pdlcore.c.

Future plans, in something like intended order:

  *   “loop fusion” techniques to maximise locality of computation, minimising 
data’s trips through the “straw” between CPU and main RAM
  *   finish the independent C interface for making PDL usable from e.g. Python
  *   use OpenCL or other means to also utilise GPUs if available

The IRC channel (#pdl on irc.perl.org) is a great virtual place to come and ask 
questions, or just watch the GitHub messages flow by.

As usual, please give the new PDL a try and report problems.

Best regards,
Ed
_______________________________________________
pdl-devel mailing list
pdl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pdl-devel

Reply via email to