Changes for version 2.096 - 2025-01-02
- CallExt removed - use `Inline with => "PDL"; use Inline C => "..."`
- Inline::MakePdlppInstallable removed - use Inline::Module
- PDL::PP::Dump removed - set $::PP_VERBOSE in .pd instead
- add IO::Misc::bswap{16,32}
- IO::Misc::bswap* now give error if try to swap more bytes than type-size
- the distro VERSION now comes from PDL::Core
- PDL::GSL now requires GSL >= 2.0
- PDL::GSLSF::* now merged into PDL::GSL::SF
- incorporate PDL::Stats::Distr into PDL::GSL since needs GSL
- Ufunc::{csumover,cprodover,ccumusumover,ccumuprodover} removed
- minimum Perl 5.16 due to lvalue problems
- add PP key "Lvalue" to make the operation's XS func lvalue
- replace PDL::Lvalue with decorating the subs with ":lvalue", or Lvalue key
- pptemplate updated to new lib/*.pd scheme, adds trivial pp_def and test
- PDL::Graphics2D removed - use PDL::Graphics::Simple or PDL::Graphics::TriD
- move PDL::Graphics::State to PGPLOT distro
- split PDL::Graphics::Limits out to separate distro
- split PDL::IO::Browser out to separate distro
- split PDL::Perldl2 out to separate distro
- fixed overly-rigid parsing of ASCII STL files (#504) - thanks Shugo for report
- split PDL::Complex out to separate distro
- move combcoords attract repulse from Graphics::TriD::Rout to ImageND
- split PDL::IO::HDF out to separate distro
- split PDL::IO::GD out to separate distro
- split PDL::Transform::Proj4 out to separate distro
- split PDL::IO::IDL out to separate distro
- split PDL::IO::Dicom out to separate distro
- finish, then split PDL::IO::ENVI out to separate distro
- split PDL::Graphics::TriD out to separate distro
- fix approx_artol for complex values (#507) - thanks @wlmb
- split PDL::GSL out to separate distro
- split PDL::Slatec out to separate distro
- split PDL::Fit out to separate distro
- split PDL::Opt::Simplex out to separate distro
- add Primitive::pchip_{chsp,chic,chim,chfe,chfd,chia,chid,chbs,bvalu}
- repository directory structure now like a normal Perl distro with lib/ (#119)
- IO::Dumper fixed to deal with multiple refs to same ndarray (#508,#509) - thanks @d-lamb for report, thanks @shawnlaffan for fix
- stop pdl([-6,18446744073709551615,-4]) being pdl([-6,-1,-4]) (#511)
- bswap{12,24} added as long double can be 12 bytes
- Core::trans_children in scalar context now returns how many
- add Pars type-spec "!complex" which makes it an error to supply complex values (#511)
- fix xform datatype selection when "real" or "complex" (#511)
- xforms now select datatype from outputs only if can (#511)
- xforms now give error if supply output with trans_parent needing converting (#511)
- eigens_sym now sorts output like EISPACK
- Math::isfinite no longer works inplace due to mismatch between Pars (#511)
- now an error to specify Inplace between differently-typed Pars (#511)
- now an error to give a null to an [io] Par (#511)
Documentation
making ndarrays from Perl and C/XS code
Discussion of bad value support in PDL
Tutorial for PDL's Broadcasting feature
How to diagnose and report PDL problems
A journey through PDL's documentation, from beginner to advanced.
description of the dataflow implementation and philosophy
How to develop for PDL
Frequently asked questions about PDL
Introduction to the PDL::Graphics modules
An overview of some modules in the PDL::IO namespace.
an index of PDL documentation
Introduction to indexing and slicing ndarrays.
installation notes for PDL
description of some aspects of the current internals
A guide for MATLAB users.
A guide to PDL's module reference.
Object-orientation, what it is and how to exploit it
Parallel processor multi-threading support in PDL
Why did we write PDL?
Quick introduction to PDL features.
A guide for Scilab users.
Small tidbits of useful arcana. Programming tidbits and such.
A guide to PDL's tutorial documentation.
the perl debugger with PDL support
shell interface to PDL documentation
Simple shell for PDL
Generate graph of pp_def key dependencies with graphviz
Modules
PDL always processes bad values
compression utilities
FFTs for PDL
misc IO routines for PDL
pnm format I/O for PDL
Miscellaneous 2D image processing functions
useful image processing in N dimensions
some utility functions for RGB image data handling
extended mathematical operations and special functions
Some Useful Matrix Operations
Fundamental mathematical operators
primitive operations for pdl
Indexing, slicing, and dicing
Coordinate transforms, image warping, and N-D functions
primitive ufunc operations for pdl
Write PDL Subroutines inline with PDL::PP
the Perl Data Language
MatLab style AutoLoader for PDL
Basic utility functions for PDL
PDL subclass which allows reading and writing of fixed-length character strings as byte PDLs
subclass of Math::Complex with overload fallbacks
vestige of configuration for PDL
basic compile time constants for PDL
fundamental PDL functionality and vectorization/broadcasting
PDL development module
functions to support debugging of PDL scripts
PDL demo infrastructure
play PDL-generated sounds
Non-memory-resident array object
support for PDL online documentation
commands for accessing PDL doc database from 'perldl' shell
PDL export control
interpolation, integration, & gradient estimation (differentiation) of functions
data dumping for structs with PDLs
Simple FITS support for PDL
A simple, fast and convenient io format for PerlDL.
A flexible binary I/O format for PerlDL
image I/O for PDL
read/write 3D stereolithography files
helper functions to make PDL usable with Storable
Module for use by ExtUtils::Depends and Inline
minimum PDL module OO loader
minimum PDL module function loader
a convenience matrix class for column-major access
toward a nicer slicing syntax for PDL
simplifies option passing by hash in PerlDL
Generate PDL routines from concise descriptions
Internal module to handle signatures
sharing PDL data between Perl threads
launch and synchronize Single-Instruction-Multiple-Dataset code
a reduce function for PDL
Useful cartographic projections
define fundamental PDL Datatypes
Provides
in lib/PDL/Demos/BAD_demo.pm
in lib/PDL/Demos/Cartography_demo.pm
in lib/PDL/Demos/Func_demo.pm
in lib/PDL/Demos/General.pm
in lib/PDL/Demos/Transform_demo.pm
in lib/PDL/Doc/Config.pm
in lib/PDL/PP/PDLCode.pm
in lib/PDL/PP/PDLCode.pm
in lib/PDL/PP/PDLCode.pm
in lib/PDL/PP/PDLCode.pm
in lib/PDL/PP/PDLCode.pm
in lib/PDL/PP/PDLCode.pm
in lib/PDL/PP/CType.pm
in lib/PDL/PP/PDLCode.pm
in lib/PDL/PP/PDLCode.pm
in lib/PDL/PP/PDLCode.pm
in lib/PDL/PP/Dims.pm
in lib/PDL/PP/PDLCode.pm
in lib/PDL/PP/PDLCode.pm
in lib/PDL/PP/Dims.pm
in lib/PDL/PP/PdlParObj.pm
in lib/PDL/PP/PDLCode.pm
in lib/PDL/PP.pm
in lib/PDL/PP.pm
in lib/PDL/PP.pm
in lib/PDL/PP.pm
in lib/PDL/PP.pm
in lib/PDL/PP.pm
in lib/PDL/PP.pm
in lib/PDL/PP.pm
in lib/PDL/PP.pm
in lib/PDL/PP/PDLCode.pm
in lib/PDL/Doc.pm
in GENERATED/PDL/Transform.pm
in GENERATED/PDL/Transform.pm
in lib/PDL/Types.pm
in lib/Test/Deep/PDL.pm
in lib/Test/PDL.pm
Examples
- examples/Benchmark/Bench.pm
- examples/Benchmark/Bench.xs
- examples/Benchmark/Makefile.PL
- examples/Benchmark/README.md
- examples/Benchmark/time.pl
- examples/NiceSlice-local.perldlrc
- examples/PDL-Parallel-threads/barrier-sync.pl
- examples/PDL-Parallel-threads/perl-barrier.pl
- examples/PDL-Parallel-threads/simple-parallelize.pl
- examples/PDL-Parallel-threads/test-memory-consumption.pl
- examples/earth-interp.pl
- examples/earth.txt