Dear PDL folks,

PDL 2.040 has just been uploaded to CPAN. Notable additions since the last 
announcement:

  *   Continuing the GSL trend, there is now a (slightly minimal) 
PDL::GSL::LINALG. It only has basic LU decomp and solver, and a real-only 
tridiagonal solver – to my great surprise, GSL does not currently have a 
complex one, which renders it not useful for e.g. Photonic. I have filed an 
issue offering to implement one.
  *   The “core version” has been bumped, due to adding various values to the 
Core structure. This will mean needing to reinstall your compiled PDL 
extensions, sorry.
  *   BADVAL_PER_PDL is permanently on now (see below, you can use NaN as the 
bad value now)
  *   Added ->floatsuffix and ->isnan methods to PDL::Type
  *   Most PDL::Primitive functions have been updated to support native complex 
types, so e.g. complex matrix multiplication works right.
  *   lu_backsub docs have working examples of actual usage, with comparisons 
with PDL::Slatec, PDL::LinearAlgebra, and the new PDL::GSL::LINALG routines.
  *   The various “set” and “badvalue” methods can take PDL objects, of which 
the zero-th value will be used.
  *   “badvalue” returns a PDL object, no longer a Perl value
  *   When returning, or taking for initialisation, Perl values for complex 
values, Math::Complex objects (or in fact a tiny subclass) values are used.

Notable bugfixes:

  *   cfloat comparison was wrong, fixed by the pdl.h tidy-up
  *   The “complex” type qualifier didn’t work completely

Notable removals:

  *   Two module dependencies have been dropped which should make for faster 
installs with no loss of functionality
  *   BADVAL_USENAN is gone but you can set NaN as the bad value for 
floating-point PDL objects and it works right
  *   Special cases for MS compilers <= 1400, which is from 2005. Native 
complex support, which we now require, they only supported from the 2015 
release, so we lose nothing in supported version by this change.

Notable tidy-ups:

  *   Now the C99 isnan() function is used to detect NaNs, not isfinite(), 
which is more correct.
  *   pdl.h’s various per-type things are no longer manually written, but 
generated from the PDL::Type definitions, which will aid adding new types. Many 
function definitions have also been generalised using these techniques, with 
the same effect.
  *   renaming PDL objects in the docs to “ndarrays”

As usual, please try it out, and report any issues!

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

Reply via email to