The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.9900

  • make perldl-documentation startup not depend on verbose
  • '??' = apropos
  • wcols (with Robin)
  • fix the TriD demos a little bit...
  • clip
  • [xyz]linvals
  • TriD doc bug fix: grabPIC3d
  • vsearch
  • FastRaw doc bug
  • add to DEPENDS
  • misc.pd typos
  • Karl:
    • deprecate where($a), multidim $a->where($b)

Changes for version 1.98_02

  • Tjl:
    • add maptextfraw
    • allow even more flexible PDL::Type::new: let it be a scalar piddle.
    • made stringize use listref_c for additional speed & avoiding stack overflows and other nasty stuff.
    • add scope.t to finally test for export stuff working and fix PDL.pm to use $pkg (from Karl).
    • undid the stupid glPolygonOffsetEXT fix, now it should finally work.
    • default.perldlrc: set verbose=0 to stop too much waffling!
  • Karl [via Gerald]
    • Makefile.PL: -I patch

Changes for version 1.98_00

  • (!!! = possible source of incompatibilities)
  • Tjl:
    • Various typos - for copyright notices, find ... | xargs perl -p -i.bak RULEZ!
    • remake Demos subdirectory with reasonable content.
    • new TriD demos in Demos/TriD
    • keeptwiddling3d etc. into TriD exported, NAME CHANGE !!!
    • hold3d parameter
    • POLAR2D context for TriD
    • document TriD::MathGraph briefly
    • fix TriD/Graph.pm to not barf when several graphs were removed
    • Fix mmapped piddle freeing for fastraw - now magickable.
    • Fix howbig, zeroes, Types stuff to accept PDL::Type objects instead of numbers in more places, e.g. FastRaw. fastraw.t updated
    • Removed TriD/Vertices.pm Lib/DataPresenter.pm
    • removed some of the old crud in Core.pm
    • Made Pod scanner not look into Pod::Parser.
    • lots of doc fixes, moving docs into the new format.
    • mkhtmldoc.pl: emulate "mkdir -p" when installing
    • Doc/Doc/Perldl.pm: allow e.g. 'new' to get 'PDL::new' to save typing.
    • standardize "3-d", "3-D" and "3d" into "3D".
    • Die on errors in evals in Basic/*.pm!!! (e.g. dynaloader unresolved symbols are now brought to light).
    • fix "GetHistory" bug by checking for "can".
    • Remove PCARout & PCA, as not really useful in present form !!!
  • Robin:
    • mconf.h osf warnings patch

Changes for version 1.96_01

  • TJL's jumbo patch
    • stuff into Basic/Math
    • TriD/MathGraph, for display of graphs in three dimensions, by finding an appropriate representation via a molecular dynamics-type search
  • Christian's clipping patch
  • set -ve indice patch
  • added my wcols() to PDL::IO::Misc
  • Lite.pm bug (Shawn)
  • Robin's mconf.h patch and Kaj's erfi.t test inserted
  • Christians type() patch
  • Christians const.c patch for IRIX
  • added Christian's COPYING suggestion
  • heroically went through and changed all the copyright messages on the docs to conform to the new standard
  • fixed (c) notice in Core.pm docs, others still need to be done
  • better explanation of GenericTypes and Pars in PP.pod
  • improved scantree.pl (portable cwd).
  • HTML docs!! - thanks to Christian's mkhtmldoc.pl (some changes) into the distribution. included a hacked Pod::Html (from perl 5.004) as PDL::Pod::Html Still not great but gives us something to work from. Some links still broken - patches welcome. See file:/usr/local/lib/perl5/site_perl/PDL/HtmlDocs for docs after 'make install'
  • TJL's average() patch and primitive.t patch
  • Docs now only built during 'make install' or 'make doctest' (which builds them under ./blib), this saves them being built unnecessarily during 'make'
  • PDL::Slatec now works on any system with a f77 compiler. All unused slatec functions were got rid of which fortunately removed all the ones with COMPLEX arguments. Also changed prototype generation which removes warnings on build. Added local copy of ExtUtils::F77 back into dist and WITH_SLATEC option to perldl.conf (undef by default for auto-decision).
  • removed Example/PP - out of date

Changes for version 1.95_07

  • applied Christian's mega-patch - but there were problems I had to fix manually. (a) his maga-patch didn't include the patch to pdl.h he had already made. (b) the change should have been made to pdl.h.PL in any case.
  • fixed NAME in Indexing.pod
  • may have fixed executable install problem of 'perldl' shell
  • fixed PDL.pm being lost from docs db
  • Robin's problems 'compiling pdl 1.54_06 Basic/Math' patch 17/12/97
    • Rejected because of following error (Linux/gcc)
      • const.c:80: parse error before `3.14159265358979323846' const.c:99: parse error before `__extension__' const.c:99: parse error before `}'
    • Can the patch be revised?
  • Robin's at() accepts -ve indices patch. Can we have set() to?
  • removed 'docscan' and 'pdlhead2item' from MANIFEST - OK ?

Changes for version 1.95_06

  • KGB
  • FITS patch
  • restored cc8compt fibonacci from pdl-porters archive (!)
  • fixed misc module name problems in tests (thanks Bob!)
  • Robin and Christian's help patches
  • Robin's Object.pod patch
  • Achim: chmod 0755 on Doc/*.PL,
  • Achim wanted pdldoc.db in archlib, ignored this (don't understand why)
  • put fudge in ops.pd to get rid of that stupid compiler warning with abs() and byte/ushort types
  • rebuilt MANIFEST hope it is OK now
  • introduced new barf(...) routine in Core.pm and pdlcore.c
    • see help barf
      • we should use barf(...) in C and Perl code instead of croak etc.
      • Note the barf engine is written in Perl, so is easy to customize!
  • changed references to 'croak' in pd/xs/c code to barf(..) or Perl_croak where appropriate
  • changed references to 'croak' in various .pm files to barf() where appropriate
  • croak #defined to barf() in pdlcore.h to catch the use in xsubpp (..fingers crossed..). Perhaps future xsubpp will allow an override of this.
  • renamed PDL::Io:: heirarchy PDL::IO:: for consistency with Perl IO::

Changes for version 1.95_05

  • KGB
  • Renamed PDL.pdl_make_physical PDL.make_physical (woops!) - ditto physdims().
  • Changed type config. Now Types.pm pdl.h pdlsimple.h are generated AUTOMATICALLY from Types.pm.PL pdl.h.PL and pdlsimple.h.PL files using perl Config information. int size issue is now handled from perl config information. Lots of potential for more flexibility. Hope this doesn't break Alpha stuff by mistake!
  • Revised PDL::CallExt. Now uses make_physical rather than PP and allows unlimited args in the same way as PDL-1.11. Ought to be more compiler friendly too! Put callext.t back.
  • Added 'dog' and 'cat'

Changes for version 1.95_04

  • KGB
  • Added glEnable/DisableClientState to dontfunc in OpenGL
  • Doug: added fake MAIN_ to cfft.f in Slatec for old g77s
  • Achim's patches of 4/12
  • my IIS changes
  • Robin's random and Inf/NaN patches of 4/12
  • Christian: 'minor doc polishing Core.pm+primitive.pd'
  • Christian: INSTALL patches.
  • Christian: 'docs in Doc/Doc/Perldl.pm'
  • Robin's minor perldl docs patch
  • Restored my missing hist() patch and test of Oct 10th (sic)
  • Achim's suggestions on help 'help' and help 'perldl', '?' and allow no quotes (with warning)
  • Added solaris_2 hints file for OpenGL
  • Robins perldl pod patches but NOT 'l' as a synonym for 'last' (I don't like this as 'last' is a perl keyword)

Changes for version 1.95_03

  • KGB:
  • Various small changes to TriD/test*.pl scripts. Renamed as *.p
  • minor TriD changes to comply with new zeroes() etc.
  • moved tests all into one top level t/ directory.
  • corrected PDL::initialise and convert (Christian)
  • Robin's primitive.pd patch
  • callext.t temporarily disabled - I will rewrite the module.
  • Minor changes to 'Doc'.
  • TriD renamed to PDL::Graphics::TriD

Changes for version 1.95_02

  • KGB:
  • Redid all the zeroes/ones/[xyrz]vals/[g]random/sequence stuff someone please please give me some objective advice :-)
  • Added Robin's new FFT
  • 3 byte change to Pnm.pm for new zeroes()
  • added make_physical and make_physdims to PDL struct

Changes for version 1.95_01

  • KGB:
    • Added Cephes code to PDL::Math as backup, changed signature of jn, yn.
    • changed scalar convesion in pdlcore.c SvPDLV() - '2.0' is now double, '2' is now int. [Uses SvNOK SvIOK etc] - changed Basic/t/conv.t to comply.
    • Added magic {PDL} = code ref hook. And put test/example in subclass.t
    • random() is now like zeroes() and both allow type/dim and $x template arguments. New arg proc. method to support this.
    • Added grandom().
    • Ressurected PDL::Exporter (q.v.). Much simpler than bizarrity in PDL-1.11. Now 'use PDL::Mod' defaults to loading ':Func'. Provision for noimports. Less typing!!!! Modified docs too.
    • Renamed PDL::Graphics::PG PDL::Graphics::PGPLOT
    • Reverted to manpages named PDL::FAQ.1, PDL::Dataflow.1, etc. This is simpler and maintains consistence between manpage and pod browsers. Fixed all the text links to comply.
    • small changes to Pod/ docs.
    • shut PP the hell up! Much less scary build now.
    • added Pods to files scanned in building doc database.
    • [xvyz]rvals now act like zeroes - but they now act like constructos so $derived->xvals does not give you what you expect. Need to think about this some more.

Changes for version 1.94_09

  • KGB: NOTE ONE MAJOR INCOMPATIBLE CHANGE [random]
    • removed PDL_OPTIONS - PDL_CONFIG for everything. I think this is better, e.g. if we want debugging we can add Debugging=>1 to %PDL_CONFIG.
    • changed use of PDL_CONFIG - see INSTALL. I think this is simpler.
    • made Karma conform with above - and simplified.
    • changed Callext arg limit to 10 to avoid compiler explosions.
    • integrated PDL::Doc, created PDL::Doc::Perldl.
    • manifying is now back from the .pm file rather then the .pd (this is a better design now pod are semi-generated from PP)
    • Christian's patches of 25/11/97: 'Core.xs and pdlapi.c' 'test' for Io::Pic
    • added docs for Doc field in PP.pod and made one-line a special case
    • Moved statistical functions from Basic.pm to Primitive.pm
    • Lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lots and lotsof miscellaneous docs.
    • Robin's browser patch of 26/11
    • Core now completely OO - i.e. none of the stuff below Basic/ export routines to each other and it still works!
    • changed occurences of foo(sig) to use '=for sig' as this seems to work better with Pod::Parser.
    • made random $x=random($y), i.e. to get inplace now random(inplace $y) OK?????????? This is because I think it is natural to say $r = random(zeroes(10,20,2)), etc. If this is a major headache let me know and I will change it back.
    • Docs => undef allowed - no PP docs at all (not even the sig)
    • Various changes to Docs.pm and Docs::Perldl.pm - apropos text searches now include module names and one-line desriptions. God I love this language.
    • Renamed Iutil module as ImageRGB - hope this is OK???
    • changed name of 'inv' to 'matinv' in Slatec for consistency with matmult in Primitive.

Changes for version 1.94_06

  • Christian:
    • lots of things.
  • Robin:
    • add type to PdlParObj.pm
  • Achim (req):
    • Version to Core.pm
  • Tjl:
    • New configuration.

Changes for version 1.94_05

  • ... Not recorded. Real threading for example.

Changes for version 1.94_02

  • Lots of changes by everyone, e.g. FFT, Browser, ...

Changes for version 1.94_01

  • Christian:
    • simplescaler
    • VRML !!!
  • Achim:
    • misc.t patch
    • Browser hints
  • Karl:
    • autocreation memleak patch
  • Robin:
    • flexraw test correction
  • Jarle:
    • Ops.pd: prevent creation of -0
  • Tuomas:
    • Core bug fixes for e.g. $a->slice("...")->index(...) .= foo, originally reported by Christian.
    • mandel.pl demo
  • Others??

Documentation

description of the dataflow philosophy
PDL changes between V1.0 and V2.0
Frequently asked questions about PDL
PDL for the impatient (quick overview)
how to index piddles.
description of the current internals
Introduction to the Perl Data Language
Object-Orientation, what is it how to exploit it
Generate PDL routines from concise descriptions
what's behind PDL?
Small tidbits of useful arcana. Programming tidbits and such.
print usage messages from embedded pod docs in files
print selected sections of pod documentation on standard output
Functions in the PDL distribution
Simple shell for PDL

Modules

MatLab style AutoLoader for PDL
Basic utility functions for PDL
fundamental PDL functionality
functions to support debugging of PDL scripts
PDL export control
define fundamental PDL Datatypes
Internal module to handle signatures
minimum PDL module OO loader
minimum PDL module function loader
PDL
Main loader of PDL default modules
support for PDL online documentation
commands for accessing PDL doc database from 'perldl' shell
module to convert pod files to HTML
base class for creating pod filters and translators
function to extract selected sections of pod documentation
print a usage message using a script's embedded pod documentation
PGPLOT enhanced interface for PDL
PDL 3D interface
Mathematical Graph objects for PDL
Tk windows / widgets / menus for TriD.
A simple, fast and convenient io format for PerlDL.
A flexible binary i/o format for PerlDL.
image I/O for PDL
call functions in external shared libraries
Linear predictive filtering
linear filtering for PDL
Gaussian distributions.
Simplex optimization routines
Simple interface to F77 libs

Provides

in Basic/Gen/PP/Struct.pm
in Basic/Gen/PP/Struct.pm
in Basic/Gen/PP/CType.pm
in Basic/Gen/PP/Var.pm
in Doc/Doc.pm
PDL
in Basic/Core/Core.pm
PDL
in Basic/Core/Dbg.pm
PDL
in Basic/Gen/PP/PdlParObj.pm
in Example/Benchmark/Bench.pm
in Basic/Core/Dev.pm
in Basic/Core/Core.pm
in Demos/General.pm
in Demos/Screen.pm
in Demos/TriD1.pm
in Demos/TriD2.pm
in Doc/Doc/Config.pm.PL
in Lib/Filter/Linear.pm
in Lib/Filter/LinPred.pm
in Lib/Filter/Linear.pm
in Graphics/TriD/TriD/MathGraph.pm
in Graphics/TriD/TriD/MathGraph.pm
in Graphics/TriD/OpenGL/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/Cube.pm
in Graphics/TriD/TriD/TextObjects.pm
in Graphics/TriD/TriD/Graph.pm
in Graphics/TriD/TriD/GL.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/GraphBox.pm
in Graphics/TriD/TriD/Image.pm
in Graphics/TriD/TriD/MathGraph.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.pm
in Graphics/TriD/TriD/OOGL.pm
in Graphics/TriD/TriD/VRML.pm
in Graphics/TriD/TriD.pm
in Graphics/TriD/TriD/Objects.pm
in Graphics/TriD/TriD/Polygonize.pm
in Graphics/TriD/TriD/Pyramid.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.pm
in Graphics/TriD/TriD/SimpleScaler.pm
in Graphics/TriD/TriD/Control3D.pm
in Graphics/TriD/TriD/SimpleScaler.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.pm
in Graphics/TriD/TriD.pm
in Graphics/TriD/VRML/VRML.pm
in Graphics/TriD/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/Dims.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/PDLCode.pm
in Basic/Gen/PP/PDLCode.pm
in Basic/Gen/PP/PDLCode.pm
in Basic/Gen/PP/PDLCode.pm
in Doc/Doc.pm
in Basic/Core/Core.pm
in Basic/Core/Version.pm
in Doc/Doc.pm
in Basic/Gen/PP/SymTab.pm
XS
in Basic/Gen/PP/XS.pm