Changes for version 2.099 - 2025-01-23
- fix test that assumed acosh(0)->byte, i.e. nan()->byte, was always 0 (#514) - thanks @eserte for report
- separate PDL::Type POD documentation
- partly restoring pre-2.096 xform type-selection: if xform given no typed outputs, and non-available (greater than last-given type) typed inputs, use last-given (#511, https://github.com/moocow-the-bovine/PDL-CCS/issues/18)
- fix Math::polyroots with native-complex input and supplied null output
- add Pars type-spec "!real" which makes it an error to supply real values (#511)
- now an error to call Ops::carg on a real value, or Ops::czip on complex inputs (#511)
- fix packsize for indx to base on ptrsize, not ivsize (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1092246) - thanks Helge Deller for report
- now an error to upd_data if datasv set to different size from nbytes
- add PDL::readonly method (#516) - thanks @wlmb for suggestion
- rename Ufunc::diffover to Ufunc::numdiff (#516)
- add Ufunc::{diffcentred,partial} (#516)
- fix xforms without [o] Pars not getting bvalflag set, a regression in 2.083 (#517) - thanks @vitstradal for report
- Ops::ipow now actually works inplace like doc says (#519)
- InplaceDoc now automatically generated like BadDoc, Signature doc includes types
- Overload key added to PP (#519)
- "usage" section of xform docs now automatically generated (#519)
- overloaded operators now throw exception if given undef argument (#519) - thanks @cgtinney for report
- Core::dog now scales linearly with length of top dim, not O(n^2) (#421) - thank @djerius for report
- PDL::IO::Storable now also supports Sereal, JSON::MaybeXS, CBOR::XS (#510,#520) - thanks @shawnlaffan
- add ParamDesc PP key
- fix IO::Pic problem with older IO::GD installed (#522) - thanks @shawnlaffan
- r2C and i2C now handle long double both real and complex (#524) - thanks @wlmb for report
- add "update_data_from" method as streamlined get_dataref/upd_data
- add Math::csqrt{,_up} (#524) - thanks @wlmb
- Core::upd_data now sets DATACHANGED so will work for flowing ops
- remove CopyBadStatusCode key from PP (#517)
- badflag now not propagated back to inputs if set on outputs (#517)
- add new_around_pointer (#505) - thanks @chrisarg for idea
- add do_print to perldl to match pdl2
- add {which,where}ND_both - thanks @guillepo for inspiration
- add Core::tocomplex (#527) - thanks @wlmb for suggestion
- add Math::c{log,acos,asin,acosh,atanh} (#527) - thanks @wlmb for suggestion
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.
Objects encapsulating datatypes for PDL transformations
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 serialisation packages
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
Test ndarrays inside data structures with Test::Deep
Test Perl Data Language arrays (a.k.a. ndarrays) for equality
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 GENERATED/PDL/Transform.pm
in GENERATED/PDL/Transform.pm
in lib/PDL/Types.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