Congratulations! Would you like me to repost this on my blog, which is indexed by perlsphere?
Joel On Sun, Feb 5, 2012 at 10:11 AM, chm <[email protected]> wrote: > All PDL Users- > > The PDL Development Team is pleased to announce the > PDL-2.4.10 release of the Perl Data Language *and* > the first PDF release of the PDL Book. > > PDL-2.4.10 is the latest point release with more > functionality, portability, and robustness than ever > before, including: > > - POSIX threads support for all platforms > - Auto parallelization of PDL threadloops > - Support for PDLs larger than 2GiB > - PDL Book draft release (PDF format) > - Much, much, more... > > As always, the source distribution will be available > at a CPAN mirror near you within a couple of days. > Our sf.net site has the source distribution and the > PDL Book: > >> >> http://sourceforge.net/projects/pdl/files/PDL/2.4.10/PDL-Book-20120205.pdf/download > > > Windows binary PPM are available in the usual site, > see "Get PDL" in the sidebar at http://pdl.perl.org > (the PDL website for links, documentation and info > for all things PDL). > > The SciPDL-2.4.10 release for MacOS X systems will be > announced when it is available. > > Enjoy and Happy PDL-ing! > > Chris Marshall > for the PDL Development Team > > > > Release Notes for PDL 2.4.10 -------------------------- > > General Notes: > > New Stuff: > > * PDL::Constants module provides E, PI, I (or J) and more. > > * PDL::NiceSlice has a new engine based on Filter::Simple > which is more selective about where the PDL::NiceSlice > source filter is applied. > > * pdl() constructor now accepts a string argument which > can include MATLAB-style [ ; ] syntax, bad values, > inf values, and nan values. This makes it much easier > to specify pdl values in programs and scripts. > > * PDL now supports pthreads on all platforms as well > as a new, auto-parallelization capability for PDL > threadloops across multiple processors using the > PDL::ParallelCPU module. > > * Many(!) bug fixes. > > > Incompatible Changes: > > * List output from whichND is now deprecated. > > * The default.perldlrc uses PDL::Constants to > provide E and PI. > > * perldl.conf has new fields so be sure to update > any local versions you use with the new fields. > > * rcols and wcols always use dim0 for the data > dimension and dim1 for the column dimension. > This only matters if you use the support for > reading multiple columns into a 2D pdl. > > * Makefile.PL now requires at least version 6.31 > of ExtUtils::MakeMaker to support the new standard > INSTALL_BASE option matching Module::Build usage. > > * Prerequisite Text::Balanced minimum version is > now 1.89 although this is not expected to be an > issue because it is provided in the perl core > since 5.8.0. > > > Highlights: > > * General cleanup of code, including restructuring for clarity. > > * List output from whichND() is now deprecated. whichND() now returns > a piddle of coordinates in all cases with a warning when a list > context is detected. See the docs for work-arounds to your code. > > * PDL::IO::Misc now has better support for handles that are not > files (e.g., pipes or standard input) for rgrep(), rcols(),... > > * Added bad value support to pctover() and oddpctover(). > This was sf.net feature #3328001. > > * New whereND() routine provides the same functionality as where > but with support for multi-dimensional masks and implicit > threading over higher dimensions. This was sf.net feature > request #3390043. > > * Many bugs fixed. > > 3059083 Problems with FITS header handling > 3080505 PLplot segfaults on plshades call on OS X > 3285520 status message from gslmroot_fsolver > 3294808 sever on Empty piddle causes segfault > 3295544 NiceSlice parsing bug > 3299611 FITS I/O obscure bug > 3300467 NiceSlice asterisk parsing issue > 3307121 wmpeg sometimes kills perldl if file already exists > 3307613 indexND of Empty pdls can segfault > 3368883 t/opengl.t fails if display type not available > 3375837 _read_flexhdr state machine fails > 3388862 tiny bug in PDL-2.4.3. May apply to 2.4.9 > 3391645 bad printf formats in pdlapi.c and others > 3394327 PDL::IO::FITS::wfits corrupting FITS image > 3396738 PDL::Core::convert default return type > 3410905 t/pgplot.t hangs test harness for PDL > 3415115 whereND fails to handle all zero mask case > 3428356 PDL::Transform::map output FITS header is slightly wrong > 3434842 Error in definition of gsl_sf_laguerre_n function > > * PDL::Constants now provides: E, PI, I and J and is loaded by the > default.perldlrc. It is not yet part of 'use PDL' so you'll need > to 'use PDL::Constants ...' by hand for now. > > * default.perldlrc sets $PDL::IO::FlexRaw::writeflexhdr=1 by > default so that writeflex() to a filename automatically writes > the header file. This is different from the previous behavior > but it seems to "do what you mean". Feedback welcome! > > * PDL::NiceSlice now has a new engine based on Filter::Simple which > is smarter about only applying the slicing source filter to syntax > occurring outside of POD, comments, and quotelike strings. The > new implementation is available for *files* by setting the > PDL_NICESLICE_ENGINE environment variable to 'Filter::Simple'. > > Work is underway to port the new niceslice filter implementation > to perldl/pdl2. Once this task is completed, the new engine will > become the default source filter and the PDL_NICESLICE_ENGINE > environment variable will be removed. > > * There is experimental support for PDL::NiceSlice syntax in the > perl debugger (i.e., perl -d). Just set the PERL5DB environment > variable to 'BEGIN { require "PDLdb.pl" }' to use niceslice > from the debugger command line. If PERL5DB is already set, > you'll need to adjust the above recipe accordingly. > > * Better handling of build configuration options from perldl.conf > as well as improvements in the detection of external dependencies. > > * perldl.conf has some new fields added: > - POSIX_THREADS_INC and POSIX_THREADS_LIBS to specify > locations of your pthread header file and library > - PDL_CONFIG_VERSION to track the perldl.conf VERSION > - PDLDOC_IGNORE_AUTOLOADER to control pdldoc behavior > - PDL_BUILD_DIR provides the build directory path > - PDL_BUILD_VERSION provides the PDL build version > (to help with ambiguity from multiple PDL installs) > > NOTE: If you are using a private or customized perldl.conf > file, please be sure to update with these additional fields > as the perl Makefile.PL doesn't yet detect version skew > automatically. > > * PDL::IO::Browser now builds in many cases (but not all). > If you try it, please let us know how it goes. Just edit > the value of WITH_IO_BROWSER in your perldl.conf before > configuring the build (i.e., perl Makefile.PL). > > * PDL::PP has seen some significant improvements including > code cleanup, improved documentation, and code refactoring > for comprehension. There is a new PDL::PP::pp_line_numbers() > routine which enables line # traceback for errors and warnings > from PP code. > > * Improved error output from the pdl2 shell via the new > CleanErrors plugin which filters out the non-PDL part > of the error output leading to *much* more concise and > helpful reports. > > * The pdl() constructor now accepts a string argument which > allows for writing pdls using a matlab/octave style > syntax as well as cutting and pasting from interactive > session output to create pdls initializations for scripts > and program files. > > The new constructor also allows for inf, nan, and bad to > generate the appropriate values (case insensitive), e.g., > > $bad = pdl q[1 2 3 bad 5 6]; # Set 4th element to bad value > $bad = pdl q[1 2 3 BAD 5 6]; # ditto > $bad = pdl q[1 2 inf bad 5]; # 3rd element is IEEE inf > $bad = pdl q[nan 2 inf -inf]; # 1st value is IEEE nan > > This is new functionality so feedback and problem reports > are welcome. > > * PDL::Image2D has new routines: pnpoly() to determine the points > in a polygon from the sequence of vertex coordinates, and > cc4compt() for 4-component labeling of a binary image. > > * PDL now supports pdls larger than 2GiB. The element count > is still an int type internally so the total number of elements > per-piddle must be less than 2**31. > > * POSIX threads (pthreads) are supported for win32 and cygwin > platforms. Pthreads are now available for all PDL platforms. > > * New PDL::ParallelCPU module provides automatic distribution > of implicit thread loops across a number of processors. Now > you can watch your PDL computations maximize the load on > *all* your processors. See the docs for how to configure this > feature and how to adjust your calculations to best take > advantage of this feature. > > * PDL::Graphics::PLplot now works with the latest release of the > PLplot library and has improved configuration and build > handling. Feedback welcome. > > * rcols() and wcols() now use the same convention for multi-column > input and output: dim0 is *always* the data dimension and > dim1 corresponds to the columns in the file. This adjustment > makes them their inverse operations. > > * The ADEV calculation in statsover has been corrected along > with the documentation. > > * PDL::Graphics::TriD changes: > - PDL::Graphics::TriD now builds using the perl OpenGL > module (POGL) when configured on cygwin with the > interface=W32API option. By default, POGL used > interface=GLX on cygwin which does software rendering > via Mesa/X11 (slower!). If you reinstall POGL with > the W32API setting, you will need to rebuild PDL and > PDL::Graphics::TriD to pick up the new configuration. > - A new 4-line graphics demo contributed by Mark Baker has > been added to 'demo 3dgal'. Take a look. > > * Various enhancements to FITS handling, including: > - add map() fix for nonlinear FITS headers > - Enable hdrpcy() in rfits() for Rice-compressed images > > * Test suite improvements to provide better diagnostics from > failures and to make tests more correct avoiding "false fails" > in the test reports. Various tests have been migrated to use > File::Temp::tempdir and File::Temp::tempfile to improve the > robustness for temporary files and directories naming and > creation during tests. > > * Update ExtUtils::MakeMaker required version to 6.31 to support > the new standard of INSTALL_BASE to configure for a local > perl/PDL module installation. > > * Update Text::Balanced required version to 1.89. This is the > version present in perl 5.8.0 (the minimum required for PDL) > so this change in requirement is not expected to affect any > PDL users. > > * pdldoc now searches your PDLLIB path for PDL::AutoLoader docs > in addition to the pre-extracted documentation database. This > makes pdldoc give the same output as the help command in the > PDL shells. > > * Many updates and additions to the PDL documentation. > > * Devel::CheckLib is being used in more places during the > PDL configuration stage. We plan to make this the standard > baseline for dependency library detection going forwards. > The included copy of Devel::CheckLib has been updated to 0.95. > > * A new unified implementation of barf()/warn() for PDL removes > code duplication. barf() is now defined in both PDL::Core and > the PDL packages. PDL::cluck is added as an analog of Carp::cluck > (as PDL::barf is an analog of Carp::confess). barf() now > generates its stack trace by hooking into Carp::confess on > both the Perl and C sides. > > * Various fixes for PDL::Transform > - fix inverse in perspective() > - fix t_cubic() parameter parsing > - fix handling of multiple PCi_j systems in the piddle header > > * Added SIGPIPE handlers to cases where PDL uses pipes to/from > external processes (such as ffmpeg or some NetPBM image > converter programs). This should make PDL "SIGPIPE safe" by not > exiting when a PDL piped IO output process quits (e.g., as when > called from within the perldl/pdl2 shell). > > _______________________________________________ > Perldl mailing list > [email protected] > http://mailman.jach.hawaii.edu/mailman/listinfo/perldl _______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
