## Changes for version 2.047 - 2021-05-08

- add PDL::i2C
- replace creal, cimag with re, im, for easier PDL::Complex -> native transition
- change default r2C and i2C input types to D from F
- add czip($re, $im) -> native complex
- i() as function (not constant) like nan()
- ci() removed
- add abs2
- re, im not exported due to clash with Test::Deep

## Documentation

script to generate Makefile.PL and PP file skeleton

making ndarrays from Perl and C/XS code

Discussion of bad value support in PDL

A journey through PDL's documentation, from beginner to advanced.

description of the dataflow philosophy

PDL changes between V1.0 and V2.0

Frequently asked questions about PDL

an index of PDL documentation

Introduction to indexing and slicing ndarrays.

description of some aspects of the current internals

A guide for MATLAB users.

A guide to PDL's module reference.

Object-Orientation, what is it and how to exploit it

Generate PDL routines from concise descriptions

Parallel Processor MultiThreading Support in PDL (Experimental)

Why did we write PDL?

Quick introduction to PDL features.

A guide for Scilab users.

Tutorial for PDL's Threading feature

Small tidbits of useful arcana. Programming tidbits and such.

A guide to PDL's tutorial documentation.

How to diagnose and report PDL problems

Functions in the PDL distribution

an index of PDL documentation

An overview of the modules in the PDL::IO namespace.

the perl debugger with PDL support

Simple shell (version 2) for PDL

calculates pdl dependencies

shell interface to PDL documentation

Simple shell for PDL (see also pdl2)

## Modules

MatLab style AutoLoader for PDL

basic compile time constants for PDL

Basic utility functions for PDL

PDL subclass which allows reading and writing of fixed-length character strings as byte PDLs

fundamental PDL functionality and vectorization/threading

functions to support debugging of PDL scripts

PDL development module

PDL export control

Module for use by ExtUtils::Depends and Inline

subclass of Math::Complex with overload fallbacks

define fundamental PDL Datatypes

Write PDL Subroutines inline with PDL::PP

Internal module to handle signatures

minimum PDL module OO loader

minimum PDL module function loader

declare PDL lvalue subs

a convenience matrix class for column-major access

simplifies option passing by hash in PerlDL

the Perl Data Language

a reduce function for PDL

toward a nicer slicing syntax for PDL

PDL demo for PDL::Graphics::Prima

support for PDL online documentation

commands for accessing PDL doc database from 'perldl' shell

a simple PDL module containing inlined Pdlpp code

PDL always processes bad values

handle complex numbers

compression utilities

FFTs for PDL

routines for fitting gaussians

PDL interface to the Proj4 projection library.

PDL interface to GSL Cumulative Distribution Functions

PDL interface to numerical differentiation routines in GSL

PDL interface to numerical integration routines in GSL

PDL interface to Interpolation routines in GSL

PDL interface to linear algebra routines in GSL

PDL interface to multidimensional root-finding routines in GSL

PDL interface to RNG and randist routines in GSL

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

PDL interface to GSL Special Functions

Display PDL images on IIS devices (saoimage/ximtool)

quick routines to plot lots of stuff from ndarrays.

Helper routines for Three-dimensional graphics

2D data browser for PDL

Interface to the GD image library.

An interface library for HDF4 files.

PDL interface to the HDF4 SD library.

misc IO routines for PDL

pnm format I/O for PDL

helper functions to make PDL usable with Storable

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

a PDL interface to the Minuit library

Fundamental mathematical operators

primitive operations for pdl

PDL interface to the slatec numerical programming library

Indexing, slicing, and dicing

Coordinate transforms, image warping, and N-D functions

PDL::Transform interface to the Proj4 projection library

primitive ufunc operations for pdl

An object oriented interface to PDL graphics

provides access to a number of look-up tables

derive limits for display purposes

PGPLOT enhanced interface for PDL

Setting PGPLOT options

A OO interface to PGPLOT windows

A package to keep track of plotting commands

PDL TriD OpenGL interface using POGL

PDL 3D interface

default event handler subroutines

3D Surface contours for TriD

Text tools

Mathematical Graph objects for PDL

Simple Graph Objects for TriD

TriD VRML backend

a module for reading DICOM images.

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

A PDL interface to the HDF4 library.

I/O of IDL Save Files

image I/O for PDL

call functions in external shared libraries

Non-memory-resident array object

Linear predictive filtering

linear filtering for PDL

routines for fitting with polynomials

interpolation, integration, & gradient estimation (differentiation) of functions

provide a consistent interface to the interpolation routines available in PDL

simple interface to SLATEC interpolation routines

Simplex optimization routines

Levenberg-Marquardt fitting routine for PDL

routines for fitting data with linear combinations of functions.

Useful cartographic projections

filter out Moose cruft

enable PDL NiceSlice syntax

implement perldl aliases/escapes

disable default print output

profile for Perldl2 shell

## Provides

in Basic/Gen/Inline/MakePdlppInstallable.pm

in Basic/Core/Core.pm

in Basic/Core/Dbg.pm

in Basic/Lvalue.pm

in GENERATED/PDL/Complex.pm

in Example/Benchmark/Bench.pm

in Demos/BAD2_demo.pm.PL

in Demos/BAD_demo.pm.PL

in Demos/Cartography_demo.pm

in Demos/General.pm

in Demos/Gnuplot_demo.pm

in Demos/PGPLOT_OO_demo.pm

in Demos/PGPLOT_demo.pm

in Demos/Screen.pm

in Demos/Transform_demo.pm

in Demos/TriD1.pm

in Demos/TriD2.pm

in Demos/TriDGallery.pm

in Doc/Doc/Config.pm.PL

in Libtmp/Filter/Linear.pm

in Libtmp/Filter/LinPred.pm

in Libtmp/Filter/Linear.pm

in Graphics/TriD/TriD/MathGraph.pm

in Graphics/TriD/TriD/MathGraph.pm

in Graphics/Limits/Limits.pm

in Graphics/TriD/POGL/OpenGL.pm

in Graphics/TriD/TriD/Mesh.pm

in Graphics/TriD/TriD/ArcBall.pm

in Graphics/TriD/TriD/ArcBall.pm

in Graphics/TriD/TriD/ArcBall.pm

in Graphics/TriD/TriD.pm

in Graphics/TriD/TriD.pm

in Graphics/TriD/TriD/Polygonize.pm

in Graphics/TriD/TriD/Control3D.pm

in Graphics/TriD/TriD/Graph.pm

in Graphics/TriD/TriD/TextObjects.pm

in Graphics/TriD/TriD/Graph.pm

in Graphics/TriD/TriD/GL.pm

in Graphics/TriD/TriD/OOGL.pm

in Graphics/TriD/TriD/Objects.pm

in Graphics/TriD/TriD/Objects.pm

in Graphics/TriD/TriD/GoBoard.pm

in Graphics/TriD/TriD/Graph.pm

in Graphics/TriD/TriD/Image.pm

in Graphics/TriD/TriD/Objects.pm

in Graphics/TriD/TriD/Objects.pm

in Graphics/TriD/TriD/Objects.pm

in Graphics/TriD/TriD/Lines.pm

in Graphics/TriD/TriD/Logo.pm

in Graphics/TriD/TriD.pm

in Graphics/TriD/TriD/Mesh.pm

in Graphics/TriD/TriD/OOGL.pm

in Graphics/TriD/TriD/OOGL.pm

in Graphics/TriD/TriD/Object.pm

in Graphics/TriD/TriD.pm

in Graphics/TriD/TriD/Objects.pm

in Graphics/TriD/TriD/Graph.pm

in Graphics/TriD/TriD/Polygonize.pm

in Graphics/TriD/TriD/ArcBall.pm

in Graphics/TriD/TriD/Quaternion.pm

in Graphics/TriD/TriD/Objects.pm

in Graphics/TriD/TriD/Objects.pm

in Graphics/TriD/TriD/Objects.pm

in Graphics/TriD/TriD/Objects.pm

in Graphics/TriD/TriD/Objects.pm

in Graphics/TriD/TriD.pm

in Graphics/TriD/TriD/SimpleScaler.pm

in Graphics/TriD/TriD/Control3D.pm

in Graphics/TriD/TriD/SimpleScaler.pm

in Graphics/TriD/TriD/Objects.pm

in Graphics/TriD/TriD/Polygonize.pm

in Graphics/TriD/TriD/Surface.pm

in Graphics/TriD/TriD.pm

in Graphics/TriD/TriD.pm

in Graphics/TriD/TriD/VRML.pm

in Graphics/TriD/TriD/VRML.pm

in Graphics/TriD/TriD/VRML.pm

in Graphics/TriD/TriD/GL.pm

in Graphics/TriD/TriD/VRML.pm

in Graphics/TriD/TriD/ViewPort.pm

in Graphics/TriD/TriD/GL.pm

in Graphics/TriD/TriD/VRML.pm

in Graphics/TriD/TriD/Window.pm

in Graphics/TriD/VRML/VRML.pm

in Graphics/TriD/VRML/VRML/Protos.pm

in Graphics/TriD/VRML/VRML.pm

in Graphics/TriD/VRML/VRML.pm

in Graphics/TriD/VRML/VRML.pm

in Basic/Gen/PP.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/CType.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/Dims.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/Dims.pm

in Basic/Gen/PP/PdlParObj.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP.pm

in Basic/Gen/PP.pm

in Basic/Gen/PP.pm

in Basic/Gen/PP.pm

in Basic/Gen/PP.pm

in Basic/Gen/PP.pm

in Basic/Gen/PP.pm

in Basic/Gen/PP.pm

in Basic/Gen/PP.pm

in Basic/Gen/PP.pm

in Basic/Gen/PP.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/SymTab.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/PDLCode.pm

in Basic/Gen/PP/XS.pm

in Perldl2/Script.pm

in Doc/Doc.pm

in GENERATED/PDL/Transform.pm

in GENERATED/PDL/Transform.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in GENERATED/PDL/Transform/Proj4.pm

in Basic/Core/Types.pm.PL