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