CHM 17-Aug-2006 Updated rel_2_4_3pre_branch with debian fixes by HG and added the decided upon fix for HDF/Makefile.PL for the PM location. CHM 16-Aug-2006 perldl.conf, IO/FITS/FITS.pm - fixes for $PDL::Config{FITS_LEGACY} to turn off all the zillion Astro::FITS::Header warning messages Graphics/Makefile.PL - fix GLX test not to ignore user forced WITH_3D=>1 cygwin/INSTALL, cygwin/README - update some of the cygwin/ install notes based on recent testing and module fixes will be tagging these fixes as rel_2_4_3pre2 CHM 14-Aug-2006 Touch up top level documentation files and add some config files to PDL/cygwin/. Files changed: BUGS, COPYING, DEPENDENCIES, DEVELOPMENT, INSTALL, Known_problems, README, Release_Notes, cygwin/INSTALL, cygwin/README. CED 13-Aug-2006 - Minor fixes to Transform -- t_fits CI_J header notation; also: dims copied between params and main object in t_spherical and t_projective. CHM 11-Aug-2006 - Added Astro::FITS::Header as a PREREQ_PM in main Makefile.PL - Added to DEPENDENCY file list - Put preliminary notes on how to migrate an externally developed PDL module into the source tree for distribution with PDL CHM 11-Aug-2006 Fix Graphics/Makefile.PL be more conservative in deciding to build OpenGL and TriD when WITH_3D => undef. Now choose not to build if the xdpyinfo command does not indicate available GLX extensions for the current X server display. This should prevent test failures due to some OpenGL X config problems. DCH 10-Aug-2006 Changed slatec.t test from: ## Test: chia $x = float( sequence(11) - 0.3 ); to ## Test: chia $x = double( sequence(11) - 0.3 ); This allows this test to work on a 64 bit machine (AMD x86_64) Also, skip the flexraw.t tests for x86_64 (these tests only apply to 32 bit machines) DCH 10-Aug-2006 Changed from $ENV{HOSTTYPE} to $Config{archname} for x86_64 check in order to set -fPIC compiler flag. CHM 09-Aug-2006 Updated Known_problems and minor doc fix. CHM 08-Aug-2006 Fixed t/proj_transform.t to skip_all if WITH_BADVAL not set so with Judd Taylor fixes from earlier today all PROJ4 modules now build and test on PDLrc1. Thanks all for testing a fixes! DAL 01-Aug-2006 Fixed typo in t_spherical of transform.pd (closes bug 1530666). CHM 30-Jul-2006 Updated release notes in preparation for 2.4.3 release. Known_Problems will follow. CHM 27-Jul-2006 Created cygwin/ directory with first drafts of README and INSTALL files for Cygwin users. CHM 26-Jul-2006 Minor wording changes to skip_all messages for test output to improve readability. DJB 24-Jul-2006 Fix for valgrind-detected error when WITH_BADVAL option selected. There was an invalid read due to $PRIV(bvalflag) being checked after $PRIV() was invalidated (by a call to PDL->make_trans_mutual). The code changes (e.g. see copybadstatus in PP.pm) indicate there is some future code cleanup/optimisations that could be made, but leave for post 2.4.3 work. Stop the "re-defining PERL_UNUSED_DECL" warnings from perl 5.8.8 by updating the ppport.h from the latest Devel::PPPort (v3.09). Removed ppport.h copy in Graphics/PGPLOT/Window/. DJB 22-Jul-2006 Fix to pdlcore.h.PL to avoid valgrind warning: rev1.26 put the setting of the debug_flag inside an ifdef but the variable is used to decide whether to print out a warning about pdl_setav_ converting undef's to $PDL::undefval. Easiest solution is to remove the ifdef (could have removed the use of debug_flag in the if statement instead). CED 18-Jul-2006 - PDL.pm: added help cross-reference to pdl() - t/core.t: add three constructor tests - pdlcore.c.PL: Fix a more obscure problem with constructor - pdlcore.c.PL: Fix problem with constructor (pdl( zeroes(100), ones(10)) case) DJB 10-Jul-2006 Fix up compile warnings in Core/ seen on Solaris - moved pdl_freedata from pdlhash.c to Core.xs.PL - added pdl__print_magic to pdlmagic.h (for pdlapi.c) - include sys/mman.h for pdlmagic.c (if USE_MMAP defined) Minor pod fixes to primitive.pd CHM 09-Jul-2006 Fix skip_all output for t/fftw.t and plplot.t. CHM 08-Jul-2006 Update flexraw.t, gd_oo_tests.t, gd_tests.t, gis_proj.t, hdf_sd.t, hdf_vdata.t, hdf_vgroup.t, inlinepdlpp.t, ndf.t, pgplot.t, and proj_transform.t test scripts to use Test:More and skip_all to report when a test is completely skipped due to major functionality missing or not available. The original skip method was to reduce the number of planned tests to 1 and then to skip that *single* test (subtest, actually). It was not possible to tell from the "make test" harness output that the functionality being tested was not available at all or even installed! These changes set the plan output for these missing functionality tests being skipped to "1..0" which is reported as "...skipped" followed by "all skipped: " The output from "make test" now indicates if something is missing from the build/install. DJB 29-Jun-2006 Updated $pdl_core_version in pdlcore.h.PL to 6 since the code for the experimental BADVAL_PER_PDL feature added fields to the Core struct (see 'pdldoc Internals' for info on why the variable needs to be updated). *** Warning: this means that - once this change is built and installed - any external module that uses the C interface of PDL will have to be re-built/installed (they'll complain and refuse to run until you do so). DAL (24-Jun-2006) Added FAQ question (#6.22) showing how to get PGPLOT to write PNG files. Also updated the CVS commands in the FAQ. HG (22-Jun-2006) Fix the TriD::OpenGL build issue with newer X installations by importing Bill Coffman's patch for Graphics/TriD/OpenGL/opengl.pd (closes bug #1505132) DJB 20-Jun-2006 Attempt to clean up building of Basic/MatrixOps: - fix a nan issue on Solaris (use atof("NaN") ratehr than nan("")) - moved source code from ssl/ sub-directory into parent so that we do not have to try and write our own Makefile for these files (with attendant OS/system complexities) but let Perl worry about it all DJB 19-Jun-2006 The experimental BADVAL_PER_PDL feature can not (currently) be combined with BADVAL_USENAN. The build now detects this conflict and turns off BADVAL_USENAN. The docs need updating to discuss this option! CED (16-Jun-2006) Work around -0 problem on macOS 10.4 PPC: some numbers (notably constructions of the form "pdl( 5 ) % 5") yield a value of "-0" rather than "0" under that OS. Fix is in the pdl_at routine in core/pdlsections.g: forces 'c'-false values to be truly 0 during export to perl. The hack is accomplished via -DMACOS_MZERO_BRAINDAMAGE, so the (infinitesimal) CPU cost doesn't affect other platforms. CHM (12-Jun-2006) Fix to GD portion [only] re sourceforge bug #1493056: - Replace pdlpp_postamble() call in PDL/IO/GD/Makefile.PL with the same call to pdlpp_postamble_int(). Don't know the details but this puts the right blib path includes for PDL::IO::GD to build on clean perl (no previous PDL install). - Removed "use PDL;" from GD.pd which broke the GD build process without a pre-existing PDL install. - Removed cygwin workaround for WITH_GD setting in perldl.conf. CED (6-Jun-2006) (finally) fix TriD rotation bug. What an evil crock that module is! CED (4-Jun-2006) Fix Makefile.PL for Proj -- now doesn't attempt to build proj modules when proj is not present on the system. CHM (30-May-2006) Fix t/flexraw.t to use eval to prevent a missing IO::String module from preventing the test to run. IO::String is required for perls before 5.8.0. The perlio for 5.8.0 and later perls supports the same functionality with the native open call. CHM (29-May-2006) Fix perl Makefile.PL build process to allow TriD (OpenGL) to build on cygwin. - Graphics/Makefile.PL -- set OPENGL_LIBS, OPENGL_DEFINE, OPENGL_INC - Graphics/TriD/Makefile.PL -- add *.dll.a to @patterns to test Cygwin now builds out of the box with base modules and TriD(OpenGL) and PLplot (need to have plplot bin directory in PATH for tests to pass). CHM (28-May-2006) Fix Graphics/PLplot/Makefile.PL to allow plplot to build on cygwin. Chris Marshall-a.k.a. CHM or marshallch (28-May-2006) Updated Changes file to reflect CVS submissions on 22-May-2006 to incorporate accumulated patches to allow PDL to build on cygwin unix environment. The patches close bug 1093510 and affect the following files: - Makefile.PL (fixed to specify .exe extension for binary file installs) - Lib/GSL/SF/coulomb/gsl_sf_coulomb.pd (fixed typo) - Lib/GSL/SF/poly/gsl_sf_poly.pd (fixed typo) - t/flexraw.t (added line wrap into f77 continuation lines to handle cases where lines longer than 72 chars were being generated; worked around a problem with a subtest using the compress command---on cygwin this is a non-functional "reminder" script---gzip was used instead) - perldl.conf (set cygwin default to skip new GD and Proj modules until a build issue can be investigated, a bug report has been submitted) Base PDL now builds with the default CVS code. Work continues to fix issues with TriD(OpenGL), PLplot, FFTW, and PGPLOT. JT (12-Apr-2006) Added the PDL::IO::GD module, and tests. JT (5-Apr-2006) Added the PDL::GIS::Proj and PDL::Transform::Proj4 modules and matching tests to t/ directory. DAL (5-Apr-2006) FAQ update. Perl/PDL versions, links, etc. No new questions added. Fixes bug 88964. SIS (2-Apr-2006) Fix bug that in Lib/Slatec/Makefile.PL that could prevent the Makefile from being written. Have Basic/Core/Dev.pm's pdlpp_postamble() return nothing for dmake. (A call to pdlpp_postamble() was breaking dmake - but dmake has not yet needed such a postamble anyway.) JT (29-Mar-2006) Added in the PDL::IO::HDF module, version 2.0, which has been extensively reworked (see the Changes doc in that dir for more info on those changes). Added new entries to the perldl.conf file, modified some of the Makefile.PL's to have that build, and added test files to the t/ directory. This also fixes bugs 1432707 and 1432720. JLC (23-Mar-2006) Fixed bug in PDL::Complex::initialize that caused problems when using PDL->cat with PDL::Complex objects. Added to the complex.t test case to check for this condition. SIS (21-Mar-2006) 'use blib;' added to Demos/BAD_demo.pm.PL and Demos/BAD2_demo.pm.PL to work around EU::MM-6.30 bug. SIS (19-Mar-2006) Alteration to Basic/Core/Makefile.PL to enable proper inclusion of badvalues on nmake-built PDL (Win32 only). SIS (18-Mar-2006) Small change to Basic/Core/Core.xs.PL's at_bad_c function so it will compile with Microsoft compilers. CED (17-Mar-2006) Test & Incorporate patch 1093515 - Marshall's fits.t mod Test & Incorporate patch 1095517 - Klein's badval support Test & Incorporate patch 1099405 - Klein's per-PDL badval support. (per-PDL badval support currently breaks the test suite and should be considered experimental only.) Remove debugging lines from 1151418 fix (yesterday) CED (16-Mar-2006) Fix bug 1176634 (zeroes/ones from derived classes, e.g. Complex) Test & Incorporate patch 1176619 (formatting of Complex values) CED (15-Mar-2006) Fix bug 1151418, problems with bad values in matrix multiplication (actually inner). Also: try to debug slatec under 64 bits... CED (14-Mar-2006) IO/Dumper.pm: Fix bug in dumper.t in UU:convert-only case t/slatec.t: instrument Slatec test DAL (14-Mar-2006) In Primitive.pd, the uniq family of functions now behave properly when the input piddle has bad values. CED (10-Mar-2006) 1338982 (obscure bug reading a FITS file) 1220830 (problems with $#$-type scalars in SvPDLV) - take 2 CED (10-Mar-2006) Fixed bugs: 1435138 (problems with compress on Suse 9.3) 1386260 (installation fixes for 64bit linux) 1350149 (fatal typo in Graphic::TriD::Rout) 1350130 (conflicting defines in Graphics/IIS) 1262194 (bad quoting in Core/Dev.pm require statment) 1209924 (range() truncate is not setting values bad when truncating) CED (9-Mar-2006) Finished fixing the TriD code. The problem had to do with the codewalker that harvests function definitions and typedefs from the GL header files. The solution involves passing the header files through the C preprocessor to handle compile-time switching, autogenerating simple typemap declarations from typedefs, and fencing the header files so that function definitions from included files are not detected by the harvester. Blech. Someone really needs to overhaul this stuff. I really hope it's not me. CED (8-Mar-2006) Added -fPIC to Makefile.PL on 64-bit platforms; attempted to make TriD work on 64 bit platforms (not yet successful -- will check in fix later). SIS (14-Feb-2006) Changes to top level Makefile.PL, Core/Basic/Makefile.PL, and Core/Gen/Makefile.PL to override EU::MM's processPL() which is continually being broken on Win32. Also rewrite limits_normalize_dsets.t so that it's not broken by Test::More bug. DAL (12-Jan-2006) Set correct x-y bounds for circle in PGPLOT/Window.pm. Added function tcircle based on tpoints and tline. Fixed convolveND method selection, bug #1323973. Fixed docs (usage and signature) bug in statsover to show correct number and order of returned quantities. SIS (8-SEP-2005) Enter Chris Marshall's patched version of t/limits_keyspecs.t. Fixes one of the #1221742 bugs. CED (1-Aug-2005) update docs for PDL.pm; re-fix recursion error message HG (2-June-2005) Fix PLplot's Makefile.PL to clean up temporary files HG (2-June-2005) add 'clean' and 'realclean' targets to the non-windows version of Basic/MatrixOps/ssl/Makefile HG (2-June-2005) remove the now unneeded debian/patches/10_fix_clean_target.dpatch HG (1-June-2005) Apply most of the 'make clean' from debian/patches/10_fix_clean_target.dpatch HG (1-June-2005) Apply debian/patches/50_relative_paths_in_htmldoc.dpatch, which changes paths in HTML docs to relative instead of absolute ones. HG (1-June-2005) Apply debian/patches/20_dont_overwrite_pdl_1p.dpatch, which prevents pdl.1p (generated from Basic/Pod/Intro.pod) being overwritten by autogenerated pdl.1p from pdl.PL DCH (31-May-2005) Added limited bad value support to gsl_interp.pd. Added badval test case to t/gsl_interp.t CED (19-May-2005) Fixed minor bug in Windows.pm, updated MANIFEST to remove Debian patches (so "make dist" works), smoothed demos a bit. AJ (10-May-2005) Modified gsl_interp.pd and gsl_random.pd to pass pointers as IVs in OtherPars following Judd Taylor's suggestion. JB (9-May 2005) Added set operation routines - setops in primitive.pd as well as intersect which is just an alias. Also updated the docs so that apropos threshold will bring up clip.. JB (6-May-2005) Improved version of typemap handling in OtherPars in PP.pm checked in and documentation for PP updated to include a discussion of typemap handling in OtherPars. I also realised I forgot a few updates earlier: I fixed a problem in the FITS reader which kept you from reading in only the header from files with empty primary arrays. And a few other small bug fixes around. I am awful at Changelogs.... HG (3-May-2005) Apply some of the 'make clean' fixes from debian/patches SIS (2-May-2005) Fix Slatec/Makefile.PL so that it doesn't break for Win32 users building with MS compilers and f2c. HG (1-May-2005) Remove debian-patches which are already in PDL cvs HG (1-May-2005) Fix MANIFEST to include the current debian/* files HG (30-Apr-2005) Apply debian/patches/60_remove_obsolete_upstream_debian_files.dpatch and remove the file CED (19-Apr-2005) Checked in Alexey Tourbin's patch in rout.pd SIS (9-Apr-2005) In perldl.PL, set $HOME more appropriately for Win32. CED (7-Apr-2005) Added warning message to FITS module load, if Astro::FITS::Header is not available. AJ (01-Apr-2005) Modified PDL::GSL::INTEG to enable the calculation of nested integrals DJB 9-Mar-2005 Fixed dumn mistake in wfits docs I made; it is TTYPE and not TFORM that are used to specify the order of columns in FITS tables! CED 9-Mar-2005 pdl.h, pdlapi.c: Added guardrails to the dependency-loop detector. (1) error message is now more explanatory. (2) the detector now resets its counter when tripped, so that you can continue to use PDL once it has been activated. (formerly, every operation following a trip caused another error message). SIS 28-Feb-2005 At last - a fix for the MakeMaker bug affecting dmake (Win32). No longer any need for the ugly hack that enabled PDL to be built with dmake. Deleted one line of code from the top level Makefile.PL. Deleted several lines from Basic/Core/Makefile.PL and added a sub MY::processPL and a sub MY::postamble for dmake. Fix supplied by Steve Hay. DJB 23-Feb-2005 (EST) t/pgplot.t now uses $PGPLOT_DEV to set the output device, falling back to "/xw", rather than forcing "/xw". Cleaned up t/pgplot.t (no new real functionality) other than above. CS 24-Feb-2005 Remove 'use UNIVERSAL' for Core.pm.PL; shouldn't be needed anyway and gave strange import problems when using PDL with Net::SSH::Perl; also needed a change of isa to UNIVERSAL::isa in Dbg.pm SIS 23-FEB-2005 Another small tweak to Basic/Core/Makefie.PL to improve the hack that enables PDL to be built using dmake (Win32). Amend Basic/Core/pdlcore.c.PL to cater for "finite" with Microsoft compilers. This correction pointed out by Vanuxem Gregory - thanks Greg. SIS 14-FEB-2005 Minor alteration Basic/Core/Makefile.PL to address a MakeMaker bug. (Users now don't need to edit MM_Win32.pm.) Minor alterations regarding definition and usage of TESTTYPE() macro with Microsoft compilers in pdlcore.c.PL. Update win32/INSTALL to reflect changes. SIS 12-FEB-2005 Tidy up some things relating to Win32. All alterations of a minor nature. Files affected were Makefile.PL, Basic/Core/Dev.pm, Basic/Core/Makefile.PL, Basic/MatrixOps/ssl/Makefile.PL and win32/INSTALL. SIS 10-FEB-2005 Another change to Basic/Core/Makefile.PL to simplify build procedure on Win32. SIS 6-FEB-2005 Minor changes to Basic/Core/Makefile.PL, Basic/Core/Dev.pm, and the top level Makefile.PL to simplify build requirements/procedures on Win32. SIS 5-FEB-2005 Provide an alternative TESTTYPE() macro (in pdlcore.c.PL)for Microsoft compilers. (Addresses failures in conv.t and matrixops.t tests.) SIS 4-FEB-2005 Enact some minor changes in the following files so that PDL will build on Win32: pdl.PL, Makefile.PL Basic/MatrixOps/matrixops.pd Basic/MatrixOps/ssl/Makefile.PL Lib/CallExt/CallExt.pm Lib/Slatec/Makefile.PL t/callext.t, t/croak.t, t/flexraw.t, t/matrixops.t win32/INSTALL (Rewrite to reflect changes in build procedure) CED 1-Feb-2005 Fixed minor bug in convolveND with kernel threading CED 18-Jan-2005 pdlcore.c.PL: fixed a pointer arithmetic issue that was causing trouble under Windows. Thanks, Sisyphus! CED 18-Jan-2005 - added segfault.t to test suite CED 16-Jan-2005 - pdlcore.c.PL: Following Alexey Tourbin's awesome research, removed a segfault problem when foreign blessed objects are pdlified. Now, SvPDLV croaks if a foreign blessed object is detected (avoiding a segfault); but stay tuned: there might be a better answer in this case. CED 13-Jan-2005 - transform.pd: remove typo introduced in removal of C double types (thanks, Henning!) CED 09-Jan-2005 - Core.pm.PL: Restored original barf behavior: reports error where it occured in user code, not within PDL. - primitive.pd: Matrix multiplication now requires that the second argument's second dim equal the first argument's first dim (as required for matrix multiplication; previous threading case made no sense). - Core.pm.PL: restored barf() to its documented behavior (had been commented out and replaced with Carp::croak()...) - t/matmult.t, t/misc.t: added more matrix multiplication tests; fixed test in misc.t to accept error messages with "PDL:" in front. CED 07-Jan-2005 - Updated PDL version to '2.4.2cvs' - In a fit of insomnia, lifted code for non-symmetric eigenvalue problems from Kenneth Geisshirt. (http://kenneth.geisshirt.dk). Resolves bug 1098245 and gets a long-standing annoyance off my back. DJB 06-Jan-2005 - Fixed norm() to correctly handle bad values. Added test case to bad.t (and changed to use Test::More rather than Test module and PDL::Core::approx). DJB 28-Dec-2004 - Clean up of t/fftw.t (use Test::More and PDL::Core::approx()). Small increase in the tolerance used for checks (1.1e-4 to 1.2e-4) to avoid occasional test failures seen on Solaris. 2.4.2 released 28-Dec-2004 CED 27-Dec-2004 - Window.pm: fixed bug 1091534 (problem with rect()) DJB 23-Dec-2004 - Set the WITH_3D option in perldl.conf to be 0 rather than undef on OS-X since there are still problems with the build. Also added a path to the GL headers to Graphics/Makefile.PL and opengl.pd for OS-X (in case the problem gets fixed). I think the whole build process for the 3D stuff should be re-worked if anyone has enough tuit's. CED 17-Dec-2004 - PDL 5.6 is now deprecated by the Makefile.PL - Fix problems with test suite when Astro::FITS::Heder is not installed. CED 13-Dec-2004 - uninitialized memory patch 1083663 (thanks, Miloslav!) CED 11-Dec-2004 - transform.pd: added projective transforms (t_projective) - slices.pd: added Miloslav's patch (patch #1083663) CED 4-Dec-2004 - DiskCache.pm: Fixed problem with syncing to disk on store (typo in code) - Lib/Opt/Simplex.pm: Fixed bug 1057022 (Opt::Simplex bug; thanks, Marcus) - slatec.pd: Fixed bug 1076817 (matinv doesn't thread). Fixed bug 1075203 (trailing underscores; thanks, Luc). - Makefile.PL: Made bad-@INC problems more apparent when found. ('.' at front of @INC causes trouble for build; this is now detected and the user gets warned.) DJB 28-Oct-04 - removed some header comments which caused problems with (presumably older) versions of Astro::FITS::Header (for PDL::IO::FITS::wfits) DJB 27-Oct-04 - fixed wfits() to write out ushort columns as Int4 (J) format (ideally we should write out as Int4 (I) and use TSCALE/ZERO). Added tests for this and other column types. Removed support for writing out PDL::Complex piddles for this release. - cleaned up the limits* tests so that they are skipped if PDL::Slatec is not installed. DJB 21-Oct-04 - clean up of code to fix remaining validation errors reported by fverify (the Type value passed to Astro::FITS::Header::Item must be in upper case to get correct format for each card). Not 100% convinced caught all cases. DJB 20-Oct-04 - PDL::IO::FITS::wfits updates for table writing: BITPIX must be the second card (or else fverify from FTOOLS throws a wobbly); fixed writing a comment card (caused messages under use strict/-w); the data area is now filled with \0 rather than " " (both tables and images). Note that fverify still complains that the keywords are not written out correctly (the comments do not start in column #32 I think). Removed the use of the FITS file handle from the whole module (now uses IO::File throughout). Added some very basic table tests to t/fits.t. CED 15-Oct-04 - fix a few oddball cases in permissive constructor CS 07-Oct-04 - fix warnings in some test scripts DJB 06-Oct-04 - PDL::Graphics::PLplot doc. updates: include internal and external links; use of head3 elements for options; added blank lines between pod statements (if not included these statements are treated as text); addition of "extra" markup (C<> and F<> items). CED 17-Sep-04 - primitive.pd: stats updated to use statsover for better agreement - statsover modified to promote mean etc. to floating-point. - removed "$temp" magic variable from perldl -- now it's only available in the "PERLDL" package. (assigning to $temp crashed perldl; this fixes that.) CS 15-Sep-04 - complex.pd: applied Vanuxem Grgory's patch and added some tests; should close bug 1010164 CED 15-Sep-04 - primitive.pd: Fix to statsover - Makefile.PL, etc.: Added HTML_DOCS configuration option - Fixed non-portability issue in t/diskcache.t CS 07-Sep-04 - make the reduce function a bit more flexible: reduce over list of dims and allow code references CED 19-Aug-04 - Fixed OpenGL build to work with Mandrake 10 (this will need better fixing later, but should work OK with all current distros). DCH 30-Jul-04 - Cleaned up plplot.t a bit. Made compilation of plplot routines plsvect and plvect dependent upon a recent enough version of plplot. DCH 29-Jul-04 - Cleanup in plplot.d. Fixed documentation bug 959902. Fixed line width specification (LINEWIDTH option). Fixed test bug in limits_ulimits.t (floating point comparison error in array_eq) CED 29-Jul-04 - Fixed Makefile.PL for PLPlot, to pay attention to $PDL::Config hash (was checking $PDL_CONFIG instead). Ditto plplot.t DJB 29-Jul-04 - added tests to t/core.t for $PDL::undefval fix (bug#886263 fixed by Craig) and cleaned up the test to use Test::More (was Test). CED 28-Jul-04 - updated constructor and conversion routines to handle $PDL::undefval properly. Since I don't like action-at-a-distance, I also added tripwires to this activity if $PDL::debug is set -- hopefully that mitigates the horror somewhat. CED 21-Jul-04 - changes to perldl.PL to allow script handling. - introducing "pdl", a byte-compiled trampoline that spawns off a perldl. "pdl"'s advantages: (a) it's two characters shorter to type, and (b) you can use in in a shebang. CED 15-Jul-04 - Modified flexraw.t test to not overrun 80-column card images for reasonably sized file names (it will still break if fed a file name that is unreasonable). CED 07-Jul-04 - Modified Pic.pm to look for alternate JPEG converters where appropriate. This allows use of netpbm instead of pbmplus. DJB 01-Jul-04 - pdlcore.c.PL/pdl_kludge_copy_<>() issues: changed \n to \\n in some error messages (would not compile otherwise) and a switch statement is now auto-generated from %PDL::Types::typehash rather than hard-coded CED 17-Jun-04 - pdlcore.c.PL: av_ndcheck and pdl_setav_$type now support PDLs thrown into the mix. I noticed that PDL::undefval doesn't seem to function (see "help pdl[2]") but left it that way for philosophical reasons. CED 16-Jun-04 - perldl.PL: comment lines are filtered out before passing through Text::Balanced, and quotelike operators (e.g. "s/foo/bar/" or "qq/foo/") are ignored for line parsing. Those constructs rarely cross lines in common usage, and they cause lots of trouble with Text::Balanced. CED 1-Jun-04 - PP.pm: fixed deep header copying -- now neither crashes nor leaks memory. - slices.pd - added a paragraph to the range() documentation - FITS.pm - added a couple of minor notes to the rfits() documentation. CED 28-May-04 - primitive.pd: fixes to glue() DJ 21-May-04 - added Graphics::Limits, which determines display ranges for multiple concurrent data sets - Primitive: fix to which/which_both bad value code to make it work when BADVAL_USENAN = 1 CED 30-Apr-04 - perldl: warns if AutoLoader is not loaded by perldlrc; avoids a suite of installation follies. - FITS.pm: rfits() clears hdrcpy flag by default - pdlapi.c, PP.pm: minor readability cleanup - Core.pm.PL: introducing hcpy, a pass-through hdrcpy clone. Also, minor fixes to deep copying. Deep header copying still leaks memory; it's not (yet) obvious why. [ Removing the refcnt increment in PP.pm causes crashes, so, er, that's not it. ] CED 15-Apr-04 - FITS.pm: minor fix for all-BAD case. CED 08-Apr-04 - NiceSlice.pm, Core.pm.PL: added dummy syntax to NiceSlice. - slices.pd: minor improvements to documentation CED 04-04-04 (heh). - slices.pd: range - Added extra speedbump to avoid common programming error (more than five implicit dims throws a warning) - transform.pd: map - Added some extra dimensionality checks CED 26-Mar-04 - Primitive: which() now ignores bad-value entries (before it always selected the BAD value). - Primitive: uniqvec() now works properly if you feed in a lone vector. - added tests for these cases. CED 17-Mar-04 - Transform: added match() convenience routine - Demos: added a rotating-coordinate-system demo to "demo transform" - Window.pm: fixed up _fits_tr to actually line up right with the FITS coordinate system. - Doc::Perldl.pm: fix for perl 5.8.0 compatibility (string interpolation is a little more agressive in the earlier versions) DJB 17-Mar-04 - Updated PLplot build so that it works on OS-X, and will automatically pick up the library if installed via FINK [currently only in unstable] CS 17-Mar-04 - Basic.pm: add (x|y|z)logvals CED 16-Mar-04 - IO::Pnm::Pic.pm: added wim() and rim() for more uniform RGB handling. - Doc::Perldl.pm: help module now gracefully handles multiple matches, and also ignores SIGPIPE if you quit the pager. - Graphics/PGPLOT/Window/Window.pd: added DirAxis option to initenv(). RL 16-Mar-04 - Graphics/PLplot/plplot.pd: Defined low-level interfaces for plmesh, plmeshc, plot3d and plscmap1l in which the size arguments are deduced from the piddles. Example x11.pl in the PLplot sources is completely ported to PerlDL now. RL 15-Mar-04 - Graphics/PLplot/plplot.pd: Implemented the low-level PLplot API functions pltr0, pltr1, pltr2, and plcont. Added some 'Doc' place holders in the pp_def's. RL 13-Mar-04 - Graphics/PLplot/plplot.pd: Define our own plstyl subroutine, where the first argument of c_plstyl (the length of the mark and space vectors) is deduced from the piddle. RL 11-Mar-04 - Graphics/PLplot/plplot.pd: Use the here-document operator (<<) for multi-line strings. This makes the style of code more close to Doug's original style. RL 8-Mar-04 Graphics/PLplot/plplot.pd: - Implement the #define'd constants in plplot.h as functions in Perl, whose pp_def's are automatically generated by the create_low_level_constants function. - Added interface for the PLplot function plsurf3d. This has been tested with the example x08.pl, recently added to the PLplot CVS sources. RL 5-Mar-04 - Graphics/PLplot/plplot.pd, t/plplot.t: Define our own plfill and plsym subroutines, where the first argument of c_plfill and c_plsym (the length of the data vector) is deduced from the piddle. RL 4-Mar-04 - Graphics/PLplot/plplot.pd, t/plplot.t: Define our own plhist perl subroutine, where the first argument of c_plhist (the length of the data vector) is deduced from the piddle. CED 4-Mar-04 Minor fixes to PDL::Transform - slightly better handling of hanning and gaussian cases; tweaks to documentation. RL (for DH) 2-Mar-04 - New version of Graphics/PLplot/Makefile.PL that allows build of PDL on a totally fresh system. RL 1-Mar-04 - Graphics/PLplot/plplot.pd, t/plplot.t: Define our own plpoin perl subroutine, where the first argument of c_plpoin (the length of the x and y vectors) is deduced from the piddle. CED 1-Mar-04 Minor fixes to PDL::IO::FITS CED 29-Feb-04 PDL::IO::FITS - Some more refinements to rfits (see docs). - wfits now allows write of binary tables. primitive.pd: fix to glue() makes it properly permissive with dims. CED 25-Feb-04 - Further changes to PDL::IO::FITS: * More cleanup of header handling code * Split out image-reading code into its own XTENSION handler [part of transition to more modular FITS handling] * No test cases yet. DJB 24-Feb-04 - 'use strict' fix for PDL::IO::FITS::rfits (when reading a binary table) (needs test cases added to t/fits.t) - FITS checks moved from t/misc.t into t/fits.t (new file) - t/misc.t and t/fits.t now use the Test module CED 12-Feb-04 - FITS.pm: Applied patches 881870 and 880507 from Kaj Wiik -- zero size field fix, and 'A' and 'X' type fixes. CED 5-Feb-04 - Window.pm: fits_imag accepts CROTA if CROTA2 is not defined. - m51.fits: moved CRPIX1 to agree better with the galaxy center CED 4-Feb-04 - Frestore again returns the eval'ed value rather than TRUE CS 28-01-04 - win32 fixes in several testfiles and updated INSTALL instructions for win32 DJB 15-01-04 - Hack to get fits_imag($img) to look like fits_imag($img,{j=>0}) when the RA axis is in descending order [+ internal changes to make the two go through the same code when setting limits]. DJB 14-01-04 - moved FITS-header messages from IO/Misc/Makefile.PL to IO/FITS/Makefile.PL since rfits/wfits are no longer in IO/Misc - added WCS as an option to the fits_imag/fits_rgbi routines in PDL::Graphics::PGPLOT[::Window]. This allows you to use any alternate WCS mappig stored in the FITS header. Only tested using images from the Chandra X-ray satellite, so you can now say fits_imag($img,{j=>1,wcs=>'p'}); to display the 'physical' coordinate system of the image - added docs for fits_cont() [essentially just copied fits_rgbi] - added fits_cont and fits_vect to PDL::Graphics::PGPLOT + internal updates to reduce replicated code. DJB 13-01-04 - t/dumper.t now passes on OS-X (10.3.2); needed to add '-s' option to uudecode call otherwise the directory name was being ignored. CS 13-01-04 - Basic/Makefile.PL: override MakeMaker clean to *not* delete files named 'core' (problem on case insensitive platforms) DJB 12-01-04 [merge of config-variable-cleanup branch] - Clean up the use of config values in the build process. We no longer use %PDL_CONFIG but use %PDL::Config in Makefile.PL's and *.pm's (it unifies the code since we do not need to check for one or the other). The config files (e.g. perldl.conf) still use the PDL_CONFIG variable. - added a TEMPDIR config entry which defines the location of the temporary directory to use during the build and testing phases; updated code to use this where spotted (may be other locations lurking around, particularly in the tests) - Moved configuration of MALLOCDBG-related variables into the top-level Makefile.PL since the same bit of code was seen in several Makefile.PL's 2.4.1 released CS 6-01-04 - PDL.pm: version to 2.4.1 CED 12-31-03 - Cleared out cruft from MatrixOps build process. CED 12-29-03 - PLPlot Makefile.PL prints more informative messages during configure - Added crash test to t/plplot.t - 'yes'/'no' -> 1/0 conversion added to bottom of perldl.conf DJB 12-23-03 - fix small bug in PDL::Graphics::PGPLOT::Window::initenv() revealed by perl 5.8.2 and test 11 of t/pgplot.t (Use of uninitialized value...) CS 12-19-03 - small release notes change - t/primitive.t: test empty piddle handling CED 12-16-03 - ufunc.pd: average() returns 0 when given an integer empty piddle and nan when given a floating-point empty piddle (unless badvals are compiled, in which case you get BAD back). - Fixed broken vector coastline (when did that happen?) - Minor documentation fix to NDF.pm.PL CS 12-16-03 - t/plplot.t: redirect stderr to get rid of silly messages - update Release_Notes CED 12-15-03 - primitive.pd: change statsover to use population standard deviation for rms term -- solves bug #852359 - transform.pd: changed call to nan("") to sqrt(-1) for cross-system compatibility (Slowlaris has no nan() call) - Fixed typo in FITS.pm; shut up precedence complaints from t/func.t and slatec.t - Shut up v-strings warning in NiceSlice.pm - Numerous other warnings from perl 5.8.2 suppressed. CS 12-12-03 - Lvalue.pm: change v-strings to backwards compatible version numbers CED 09-Dec-2003 - m51.fits: Replaced non-free NOAO image with free Hubble Heritage image CS 08-Dec-2003 - Core.pm.PL: fix nslice to handle empty piddles CED 07-Dec-2003 - ufunc.pd: average() and daverage() return 0 when given an empty piddle in a non-bad-value environment. [One might argue that this should be nan; I'm open to changing it...] - ufunc.pd: andover, orover, etc. no longer convert arguments to integer types before performing the operation. bandover and borover work as before, since bitwise and makes no sense on floating-point types. CED 05-Dec-2003 - Clean up axis labeling code in imag(); should eliminate spurious doubled titles. CS 04-Dec-2003 - add code to Makefile.PL that tries to detect broken redhat installations CS 03-Dec-2003 - PGPLOT::Graphics::Window: activate autolog for the 'points' command and add some brief docs about autologging (see docs for AXIS option) CED 25-Nov-2003 - Fixed eigens; eigenvectors are now in the columns of the output eigenvector matrix, rather than in the rows. CED 21-Nov-2003 - Fixed bug 755563 (I hope) in the OpenGL configuration - Fixed bug 793195; some random doc improvements for Image2D and Transform. DH 21-Nov-2003 - Upgraded PLplot interface for plplot-5.2.1 and perl 5.8.2. Improved test suite. Also fixed two small bugs which give warnings during 'make test' under perl 5.8.2: One in primitive.pd and the other in misc.pd. CED 19-Nov-2003 - Several minor fixes and improvements to rfits(). Notably, it now works in array context, pulling all extensions and returning as list. CED 17-Nov-2003 - Split FITS IO into its own module. CS 13-Nov-2003 - GSL version check (>= 1.3) in Lib/GSL/Makefile.PL related to bug 806229 which might be caused by a version mismatch(?) CED 11-Nov-2003 - Added FITS BINTABLE reading to PDL::IO::Misc. CED 04-Nov-2003 - Updated Matrix.pm - Removed null tests from trans code in PP.pm - to enable better handling of null piddles. (fixes bug 779312, I hope) CED 16-Oct-2003 - Added whatis() function to perldl CED 15-Oct-2003 - Added PDL::IO::IDL. CED 15-Sep-2003 - Added easier access to local web documentation ("help www"). - Help searches are case-insensitive. CED 01-Sep-2003 - Moved Transform.pm to PP; wrote C version of map() algorithm. - Revamped Window.pm documentation a bit. - Fixed bg bug in text(). CED 23-Aug-2003 - Added uniqvec() to primitive.pd CED 22-Aug-2003 - Added 'mirror' boundary condition to range() - Added qsortvec() to ufunc -- lexicographically sort a bunch of vectors. CED 8-Aug-2003 - DiskCache now accepts a "bless" option that blesses the tied array into the PDL::DiskCache class for easier access to the "sync" and "purge" methods. - Some fixes to Transform. CED 5-Aug-2003 - Several minor fixes (bugs 777000, 783104, and 772492) CED 27-Jul-2003 - Minor fix to Transform.pm (t_quadratic) CED 26-Jul-2003 - Fixed test for complex.t - Fixed documentation for primitive.t CED 24-Jul-2003 - Online documentation works for autoload files - Fixed regexp bug in searcher (special characters broke searching, as in "? /tmp/foo") JC 22-Jul-2003 - Fixed bug in polar to re-im conversion routine (Cp2r) in PDL::Complex. Added test case in complex.t to check that re-im to polar conversion followed by polar to re-im ends up with the same value we started with. CED 12-Jul-2003 - interpND: added cubic and FFT interpolation schemes. CED 5-Jul-2003 - imagend.pd: convolveND is ready to roll: fixed off-by-1 errors, added tests and documentation. CED 3-Jul-2003 - imagend.pd: add optimized "convolveND". Still needs a bit of offset-by-1 work, but runs 3x faster than convolve() for direct convolution. CED 29-Jun-2003 - slices.pd: clump allows "-n" to mean "keep n dimensions". CED 28-Jun-2003 - Transform.pm: fix autoranging of map() - primitive.pd: fix negative-index case in linear interpolation (floor is required to prevent round *up* for negative indices) CS - fix NiceSlice foreach bug; v to 1.0.0 - fix fftwconv 2.4.0 released CED 22-May-2003 - Better fallbacks for RGB images if PGPLOT-RGB support isn't installed (Window.pm) - pgplot.t test cleans up its own window. CED 21-May-2003 - Revamped tranforms demo - Added cartography demo - Fixed justification logic in Graphics::PGPLOT::Window::fits_foo - Fixed a bunch of documentation - Removed debugging prints from Cartography.pm CED 20-May-2003 - "arbitary" -> "arbitrary" in Window.pm - Fixed-up Transform demo JC 19-May-2003 - Updated Release Notes CED 19-May-2003 - Fixed FlexRaw to use binmode() on file handles. Also fixed flexraw.t to use binmode() in its byte-swapper. CS 170503 - Makefile.PL cleanup + restrict tests when vital modules missing CS 140503 - further Makefile.PL fiddling CED 12-05-2003 - Lib/Transform now doesn't complain with -w (addressing DJB's objection) - wfits now corrects the size of the output header. - Shrunk Cartography sample data CS 080503 - Makefile.PL now absolutely requires Filter::Util::Call & Text::Balanced for PDL::NiceSlice DJB 060503 - Makefile.PL now enforces Perl >= v5.6.0 (+ removal of old code) CS 060503 - set OPTIMIZE via perldl.conf - PDL.pm: version @ 2.4.0 - Inline::Pdlpp: new NOISY flag (show compilation output) CS 030503 - is_inplace: allow testing and unsetting inplace flag in one statement - complex.pd: fiddling with namespaces and other bits - add 'reshape' to lvalue funcs CS 190403 - export pdl_changed, pdl_children_changesoon and pdl_vaffinechanged into PDL::Core struct (for usage in external modules) bumped up pdl_core_version to 5 - use those funcs to fix inplace ffts in PFL::FFTW (fix bug #716449) - pdlapi.c, pdlthread.c, pdl.h.PL: changes to help debugging the PDL Core; all pointers are now dumped in hex in the pdl_dump_XX routines - pdlapi.c: delete one statement in pdl_changed that broke, for example, calling fft with certain kind of slices (see comments) fixes bug #716447 (but note that I wasn't sure what this statement was required for in the first place; so breakages in other places as a result are not inconceivable) - disabled foomethod tests (foo.t) since foomethod broke as a result of removing the statement in pdlapi.c (see above). I assume that the statement in question was only introduced to make the foomethod work CED 15-Apr-2003 - Cleaned up a lot of documentation CED 14-Apr-2003 - By request, headers are now deep-copied recursively. - Removed a debugging printf in PP.pm CED 12-Apr-2003 - Various: Modified header copying to be quasi-deep, rather than by reference only. Changes to PP.pm, Core.pm.PL, and some test files. CED 9-Apr-2003 - slice.pd : Added permissive ranging to, er, range(). Missing source dims are treated as if they dummy dims of order 1. DJB 09-Apr-2003 - Fixed PDL::Graphics::PGPLOT::Window::legend to correctly handle synonyms (confusion between PDL::Option's synonyms()/add_synonym()) CED 8-Apr-2003 - Minor fix to Transform::map: if you supply a destination FITS header it replaces the original FITS header in the remapped output. CS Dev.pm: apply Michael Schwern's fix for ExtUtils::LibList Makefile.PL, Types.pm.PL: fix race where Types.pm.PL tries to use PDL::Config before it is written discovered bug in FFTW inplace code: breaks inplace routines with slices; added TODO test to fftw.t DJB 02-Apr-2003 - moved code from Basic/Bad/bad.pd to Basic/Core/Types.pm.PL: should never really have been adding to the PDL::Type namespace from a different module! (no change to the user) CED 30-Mar-2003 - range now allows using the empty piddle as an index; the resulting range is the empty piddle. DJB 28-Mar-2003 - removed TYPES_LONGLONG hack from perldl.conf CS - changed handling of bad values to accommodate longlong types general infrastructure overhaul to improve type handling CED 27-Mar-2003 - Added XRange,YRange keys to image handling in Graphics::PGPLOT::Window. CED 25-Mar-2003 - Fixed pgplot.t test to not use broken asynchronous I/O in perl5. Switches interactivity on an environment variable instead. CS 25/03/03 - karma.pd: added 'kvis' command to start new kvis app CS 22/03/03 - renamed det in slatec.pd to detsclatec; avoids name clash with PDL::MatrixOps::det; I tried to make the change backwards compatible - PDL::ImageND, PDL::FFT, PDL::FFTW: moved kernctr from PDL::FFT into PDL::ImageND so it can be used by both PDL::FFT and PDL::FFTW; both PDL::FFT and PDL::FFTW export it now by default CED 20-March-2003 - pdlhash.c: if PDL::BIGPDL is true, then ignore the 1-Gb limit on PDLs. - Window.pm: - Fix labeling bug that affected some output devices (titles were doubled in ppm device due to a pgplot buffering bug). - Fix handling of FITS headers in _fits_foo -- let PDL dimensions override NAXIS. - PP.pm: - hdrcpy bit is sticky, so that headers make their way down pipelines of operations. CED 18-March-2003 - Core.pm.PL: fix '.=' closure (closes bug #630793) - pdlapi.c: Check that a dimension is nonzero before dividing by it, in pdl_make_physvaffine. This bug might exist elsewhere too, causing random crashes with Empty and Null piddles. But at least this closes bug #671891. - perldl.PL: Put code to execute inside a trivial block (diverts runaway 'last' and 'next' commands, closes bug #573841) - ufunc.pd: Minmax now returns (0,0) when handed the null piddle, unless bad values are supported in which case it returns (bad,bad). (closes bug #659130) - Window.pm: fix bug #626344 (retain old cursor position) CS 17/03/03 - Core.pm.PL: fix topdl method (closes bug #681015) - gsl_integ.pd: fix for compliance with gcc AJ (17-March-2003) - Added PDL::GSL::INTEG CED (15-March-2003) - perldl: Added multi-line string processing (using Text::Balanced) and EOF protection to the shell. CED (14-March-2003) - Obscure bugfixes and improvements to Lib::Transform - t/pgplot.t Avoid a perl bug (setting an alarm from inside the alarm handler sometimes fails!). - Primitive: uniq now always returns a PDL. AJ (12-March-2003) - Minor changes to PDL::GSL::INTERP Doug Hunt (3-Mar-2003) - Added PLplot interface to PDL/Graphics area. This had been a separate CPAN module (PDL-Graphics-PLplot) CED (25-Feb-2003) - Added 'piddle' constructor synonym :-) CED (24-Feb-2003) - slices.pd: - range(), indexND, & interpND now accept multiple boundary conditions - fixed up indexNDb and indexND documentation - portability fix to whichdatatype_double mod CED (21-Feb-2003) - Modified whichdatatype and whichdatatype_double to represent nan with a double, rather than barfing. - Myriad small fixes to Transforms::Cartography - Perspective works properly - Changes to the documentation of Window.pm: axis() is better documented. CED (5-Feb-2003) - Window.pm: - ctab() selects window focus now (as it should). - lines() doesn't barf on trivial vector - pgwin() is much more forgiving in its syntax. In particular, you can say "pgwin(xs,J=>1)" and it'll know what you mean. - Basic: New ->fhdr method makes a tied FITS header if possible CED (30-Jan-2003) - Modified interpND linear method (30% faster!). - Added PNG interpretation to ::IO::Pic. - Cleaned up RGB support in Transform/Cartography; fixed many bugs. in threaded transforming (mv(,-1) is deprecated!) - Added FITS header support to transformations. - Added automagic RGB recognition to ->imag. AJ (29-Jan-2003) - Added PDL::GSL::INTERP and PDL::GSL::DIFF and corresponding tests t/gsl_interp.t and t/gsl_diff.t CED (28-Jan-2003) - Added fits_vect method to Window - Improved Transform demo (whizzy despiraling demo at end) - Fixed MANIFEST. CED (27-Jan-2003) - Rearranged Lib/Transform to be more like the rest of the source tree. - Several bug fixes in Transform code - Improvements to ->map() method - Added truncation to ->range operator - Switched ->indexND to use ->range (for better data flow) - Added EQUIVCPTRUNC macro to PP, for permissive slicing operators (like ->range) that can extend out-of-bounds. CED (20-Jan-2003) - Added rgbi to Window.pm (requires newer pgplot & PGPLOT). - Added earth_image() to PDL::Transform::Cartography::Earth (this may not be the Right Way to do it) CED (17-Jan-2003) - PDL::IO::Dumper uses more standard uuencode/uudecode than before, and uses external uuencode/uudecode by preference (faster than Convert::UU) CED (16-Jan-2003) - Minor fixes to Transform. - PDL::IO::Pic is auto-used. CED (15-Jan-2003) - fix to Dumper -- uses Convert::UU (instead of uudecode) if available. - Transform::Cartography::Earth -- update dumped info CED (3-Jan-2003) - primitive: added glue() method -- arbitrary-dimension append - Transform: - renamed Projection.pm to Cartography.pm - Added operator overloads to Transform.pm - Added "dual-method" functionality to map() and apply() - Reversed sense of map() and unmap() to make them more intuitive. - Added many map projections and helper routines to Cartography.pm - Added Transform::Cartography::Earth with local earth-map (autoloaded by "earth_coast" helper in Transform::Cartography) - Window: - Several minor fixes to lines CS - NiceSlice parser updates, see Changes in NiceSlice dir - .cvsignore files for the dist (autogenerated so hopefully no screwups, please let me know if you notice any problems) CED (19-Dec-2002) - window.pm: Fixed off-by-one bug in ->lines - Transform.pm: Fixed some stuff in t_linear - Added Lib/Transform/Projection.pm CED (17-Dec-2002) - Minor fixes to Transform.pm - Added "lines" to Window.pm - Added Earth map data file to the top level of the distro. - temporarily added "earth-interp.pl" to the top level of the distro. - Allowed "Methods" as well as "Functions" for func list in Doc.pm CED (11-Dec-2002) - Minor fix to Windows.pm in _FITS_tr. CED (10-Dec-2002) - Minor fixes to Windows.pm - First cut at pgplot.t -- test suite for pgplot windowing stuff. - Fixed up some Transform documentation. CED (09-Dec-2002) Fixes to Windows.pm: - all Pix/Scale/Pitch parsing is now in initenv() (so, e.g., those options work on ->line and ->points). - initenv() knows about self->held for more convenient wrapping (and fixing of the old doesn't-switch-windows-when-held bug) - _fits_foo implements generic fits_ processing for easier addition of fits stuff. - fits transformations are in _fits_tr - image range finding is in _fits_xyvals - justify works in a generalized way. Justify=>1 works like you expect, but Justify=> also sets the pixel aspect ratio, for more juicy flavor. CED (06-Dec-2002) - Minor fix to range documentation - Shut up warnings in Window.pm sig handler and fix fits_imag (bug #649630) - Fixed bugs #633385, #634257 - attempted to regularize justify option (in progress) CED (05-Dec-2002) - Numerous fixes to PDL::Transform - Minor tweak to MatrixOps - Some cosmetic improvements to InterpND (better option control) CED (03-Dec-2002) - Completely rewrote range code -- it's more elegant, faster, and more general now. CED (02-Dec-2002) - added ndcoords (new index piddle constructor) to Basic.pm - indexND now uses range call instead of index call (works faster) - many mods to Transform CED (21-Nov-2002) - PDL::Math loads PDL::MatrixOps by default for backwards compatibility. CED (19-Nov-2002) - PDL::Slices::identity -> s_identity; identity is now exported from MatrixOps and constructs an identity matrix. - Ported MatrixOps to PP; moved to subdir of Basic; split the matrix ops from math.pd and moved into matrixops.pd MatrixOps is now autoloaded by "use PDL;". - Minor mods & cross-refs added to documentation in several modules CED (18-Nov-2002) - Transform: improvements to t_lookup CED (17-Nov-2002) - MatrixOps: improved inv and det can thread using lu_decomp2 - Transform: - use svd to characterize the jacobian in integrative mapping - integrative ('jacobian') mapping works reasonably quickly and is correct. Some changes to options. - Better documentation for svd in math.pd CS - yet another special case for NiceSlice, see NiceSlice Changes CED (15-Nov-2002) - photometric distortion appears to be correct -- but hogs memory like crazy. One more iteration to make it usable! CED (14-Nov-2002) - interpND defaults to 'sample' if its input is an integer type - Math::eigens is quiet about symmetrizing unless PDL::debug is set - photometric distortion (not correct yet but functional) in PDL::Transform - updates to MatrixOps.pm DJB (14-Nov-2002) - Added 'demo transform' to perldl to showcase PDL::Transform CED (14-Nov-2002) - Math::eigens is now threadable. DJB (12-Nov-2002) - Added the TYPES_LONGLONG option to perldl.conf: by default it is set to 1 which means that PDL will try and compile support for a 64 bit type. Set to 0 if make fails (or fix the code to work with PDL_LongLong types!) CS - NiceSlice doc additions - PDL::Core: squeeze as reshape(-1) alias CED (11-Nov-2002) - Transform.pm updates - conformal radial expansion, better documentation, better composition, several minor bug fixes CS - NiceSlice.pm v0.99: fix modifier parsing + allow several modifiers CED (7-Nov-2002) - Several updates to Transform.pm -- wrap() method, rot option to Linear, and improved composition -- but NOT (just yet) jacobian support. - Updated documentation for index() method in slices.pd - Minor tweaks to MatrixOps. CED (6-Nov-2002) - Added MatrixOps.pm version 0.5 - Added t/matrixopt.t CED (30-10-2002) - Added Transform.pm version 0.5 CED (29-10-2002) - m51.fits: hand-edited the file to fix bad NAXIS tag (was 0) CED (25-10-2002) - IO/Misc.pm: removed not-so-spurious warnings from rfits (bug #626342) - PGPLOT/Window.pm: fixed spinlocks for PGPLOT -- now faster, clearer, and actually functional (see bug #615277). - Primitive/primitive.pd: fix to interpND behavior -- it now threads correctly in the bilinear dual-threading case. - Lib/Slatec/slatec.pd: added nonsquare-array check to matinv. Similar checks are probably needed throughout to keep FORTRAN from dying. CS - PDL::IO::FlexRaw now understands all types - uncommented type longlong -- let's see how many installations break ;) - added t/iotypes.t CS ******** merged in type extension stuff - example of extending data types: add longlong type (64bit integer) - that type is disabled by default but you can uncomment the section in Types.pm.PL to try it out *** no modification of IO modules yet *** just the core changes to add the type + other changes to *** make all modules compile *** may serve as a testbed for type extensions *** needs testing with BADVALUE support CS - preparations for type extension: concentrate all type-dependent info in Types.pm.PL CS - cpoly.c: try to fix values.h problem on BSDs etc CS - patch for cygwin by Christopher Marshall (Bugs item #597985) CS - fix box2d threading bug CS (25/9/2002) - 2.3.4 release branch merged into trunk TJ (13-Sep-02) - Basic/Core/Core.xs hdr and gethdr XS functions did not strictly adhere to XS syntax. (5.005_03 xsubpp complains loudly) DJB/CS (11-Sep-02) - 'make clean' now removes _Inline/ as does t/inlinepdlpp.pl when its run (to make sure that we're testing the latest&greatest code) TJ (09-Sep-02) - Fix valgrind warning in pdlapi.c (use of uninitialised variable in dump) - PDL::IO::Storable now uses PTR2IV TJ/CS (09-Sep-02) - Fix memory leak associated with magic CED (30-Aug-02) - Fix to Window.pm documentation -- explains wart about panel() CED (29-Aug-02) - minor fix to fits_imag -- axis labels - Added TightLabels (boolean) and TitleSize (float) standard options to control window labeling. CED (28-Aug-02) - minor fix to rangeb - physicalize index before checking its size CED (27-Aug-02) - range() is now an lvalue, as are indexND and indexNDb. - pdl_malloc call is now via PDL Core structure, avoiding complete failure of the test suite :-) - extra debugging fprintf() calls deleted. - range() is a front-end to rangeb(), allowing omission of optional arguments. - rangeb handles boundary conditions. CED (26-Aug-02) - slices.pd: added range (PP implementation) - Incremented core_version in pdlcore.h.PL - ->range doesn't spew debugging now (commented out) CED (20-Aug-02) - slices.pd: added rangeND (first-cut implementation) ---- 2.3.4 release merged into trunk on 25/9/2002 (see above) 2.3.4 JC (23 Sep 02) - Changes to Release_Notes associated with making release 2.3.4 Frederic Magnard (2002-09-20) - Fix NAXIS in fits writer with Astro::FITS::Header TJ (2002-09-20) - wfits should now write SIMPLE as logical with Astro::FITS::Header TJ - wfits now works correctly with Astro::FITS::Header TJ - Paper over weirdness in PDL::GSL build when Slatec is disabled. TJ - func.t was failing if Slatec was not available. This was because PDL::Func was loaded before PDL::Slatec in t/func.t. Now fixed (and include an additional croak in PDL::Func). TJ - Compatibility fixes for perl 5.005_03 + updated ppport.h from perl 5.8.0 + lvalue problems with slices.pd and primitive.pd + Graphics/PGPLOT/Window/Window.xs now uses ppport.h TJ - Core.xs.PL used invalid XS for hdr and gethdr DJB - Backported "_Inline removal to Makefile.PL & t/inlinepdlpp.t" CS - version to 2.3.4 CS - backported a number of patches from the main branch DB 9/11: Lite.pm typo TJ 9/02: PDL::IO::Storable now uses PTR2IV Fix valgrind warning in pdlapi.c (use of uninitialised variable in dump) Fix memory leak associated with magic ----- branched off 2.3.4 release at this point CED (19-Aug-02) - Window.pm spinlock includes special release_and_barf to unlock signals. (the Right Answer is to fix barf() to throw a __DIE__ signal; but that opens other cans of worms.) - documentation for some of the inplace-flag handlers CED (16-Aug-02) - indexND: runs faster; doesn't check boundaries at all - indexNDb: includes "forbid" boundary condition (which barfs on violation) - interpND: skips trivial cases for bilinear interpolation (factor-of-2 speedup for each dimension that is indexed by an integer) - Window.pm: * ->imag labels axes, if you pass in label fields as options. * isolated initenv() viewport setup, so imag() can use it in pix code CED (15-Aug-02) - PGPLOT::Window fixes: - ticks default to outside for images; inside for everyone else - cleaned up pixel scaling code (used initenv() now) in imag - Image alignment code - you can choose how the image fits within the box if you explicitly set the scaling (or use fits_imag) - fits_imag automagically draws wedges rather than modifying the title. - draw_wedge position defaults to 1.5 rather than 2 (avoids cropping of wedge labels in the default case). CED (12-Aug-02) - Minor speed increase to InterpND (still needs work!) - PGPLOT::Window::(imag1|imag|fits_imag) now does pixel scaling correctly (I hope) -- substituded pgqvp (viewport dims) for pgqvsz (window dims) - Axes now default to having tick marks outside the box instead of inside the box. That prevents scrozzling by images. - pgwin() convenience function is a little more convenient - Fix to spinlocks in Window.pm. - gethdr() can return undef again; new method hdr() is always defined. CED (9-Aug-02) - Signal-deferral mechanism for PDL::Graphics::PGPLOT::Window should avoid many pgplot-related weirdnesses CED (8-Aug-02) - Minor fixes to fits_imag, also in PDL::Graphics::PGPLOT::Window - Minor fix to IndexND, in slice.pd - now fits_imag doesn't attempt to reconcile different CTYPE units. DJB (8-Aug-02) - changed behaviour of TextWidth option in PDL::Graphics::PGPLOT::Window It is now only applied if specified (ie doesn't default to 1 and so clobber the LineWidth/HardLW settings). Added a little documentation but it needs to be improved. CED (7-Aug-02) - Slightly cleaner MOD in ops.pd - added interpND (to primitive.pd) and indexNDb (to slices.pd). CED (6-Aug-02) - New % operator follows (mathematically correct) perl % operator behavior - AutoLoad throws an error if foo.pdl doesn't declare foo(). (used to loop endlessly). - AutoLoad error messages are more informative. CS - hopefully fixed bug with new pdl(arrayref) implementation CED (2-Aug-02) - Add IndexND to slices.pd - Add pdl output for scalar context to WhereND in primitive.pd CED (1-Aug-02) - Incorporate FITS into rpic/wpic interface (allow conversion code to recognize drop-in replacement functions for rpic/wpic) - Minor fix to FITS I/O version checking CS - add PDL::IO::Storable and PDL::GSL::SF hierarchy - fast pdl method! please test heavily - don't do opengl tests unless opengl is actually built! - mute annoying warnings from PP::PDLParObj CS - explicitly load PDL::Core in PP boot section - examples: make modules with Inline::Pdlpp! CED (26-Jun-02) PDL::Graphics::PGPLOT::Window::line() autoranging avoids infinity CED (25-Jun-02) Changes to PDL::Graphics::PGPLOT::Window: - Added pgwin() -- exported constructor (less typing) - Added =>Size option to constructor (less typing) - Added =>Units option to constructor (PGPLOT units only at the moment) - Interactive windows appear at the size you ask for. (less annoyance) DJB - quoted "PDL::Type" in byte/short/.. fns in Core.pm to fix problem seen with using 'use strict' with perl 5.6.0 CS - patch by Ken Williams to improve speed of 'pdl $perl_array_ref' CS - check for Astro::FITS::Version >= 1.12 CED (17-Jun-02) - add fits_imag to PGPLOT interface CS - allow niceslice to use the syntax $pdl($greater_1D_piddle) which indexes into flattened $pdl; result has same shape as $greater_1D_piddle CS - allow PP Code to handle constructs like $arr(n => 3*i+1) if Text::Balanced is installed - fix included Benchmark suite - NiceSlice.pm: make splitprotected interface similar to split's CS - fix PP.pm: bug #564937 (needed a check for sv_isobject(...) ) - make sure pp_done is called automatically if user forgets! CS - applied Diab's patch #559860: improve trylink, Math/Makefile.PL - applied Diab's patch #559885: overload 'eq' - Inline::Pdlpp: fix join-bug, add MakePdlppInstallable to allow installation of modules with Inline Pdlpp calls, update test and INFO method - allow to set trylink 'Hide' behaviour from perldl.conf (suggested by Diab) DJB (04 Jun 02) - minor fixes to the build highlighted by warnings from perl 5.8.0 TJ (31 May 02) - Use INT2PTR/PTR2IV to fix compiler warnings when the IV size does not match the pointer size (eg linux with -Dusermorebits). This will break compatibility with perl 5.005 unless we add some of our own macros - Fix prototype warning in rout.pd with PerlIO_print - Apply CS's patch to CallExt.pm to prevent spurious failure of DynaLoader in perl 5.8.0 2.3.3 JC (22 May 02) - Changes to Release_Notes, PDL.pm associated with making release 2.3.3 CS - bump up NiceSlice version - gsl_random rng destructor! - improve PDL::Exporter doc (I never remember the darn syntax) CS - reshape behaviour like idl when no dim args are given - niceslicing gets a new modifier: $a(;-) drops dims of size 1 CED (16 May 02) - Several minor changes to Dumper and RandVar for compatibility with BSD and perl 5.005 CS - Makefile.PL: warning if mods for NiceSlice missing - IO/Misc: print warning at the end of the make output - Graphics/PGPLOT: small change to the (still undocumented) autolog func CED (15 May 02) - Added Astro::FITS::Header recognition to PDL::IO::Dumper. CED (14 May 02) - Removed NiceSlicing from RandVar and Dumper (they use slice only now) CED (from the distant past) - Added PDL::IO::Dumper, which provides deep data structure storage and retrieval in armored-ASCII format. Requires Data::Dumper (from CPAN), FITSIO (also from CPAN), and uuencode(1). CED (13 May 02) - Modified legacy rfits/wfits support to handle strings more cleanly (more like Astro::FITS::Header) - Moved missing-module message to IO/Misc/Makefile.PL - Added stringification test to t/misc.t CED (10 May 02) - Modified rfits/wfits to support Astro::FITS::Header as an underlying FITS header driver. The fallback (to the more-or-less original KGB code) is probably Wrong as string handling now changes depending on the presence of Astro::FITS::Header; whether Astro::FITS::Header is present; but ultimately everyone just uses Astro::FITS::Header and the problem goes away. CS - folded PDL-2_3-gimp-fix branch into main trunk - typos DJB (09 May 02) - removed *.P files from Lib/Slatec/slatec/ (no longer needed) CS - fix wcols bug #541847 - remove $Config{libs} from callext_cc to make callext work on recent debian systems **** possible source of incompatibility ****** - dumper.t: test only if uuencode/decode present - lmfit example - add diskcache.t to MANIFEST CS - remove remaining call to pdl_family funcs in pdlapi.c - apply perldl patch for -M switch (bug #530441) CS - perldl v1.32: changed preprocess interface -> pipeline - Pic.pm: make option parsing case insensitive - Lvalue.pm : use attributes interface (fixes lvalues with bleadperl) - Core: remove pdlfamily.c dependencies and delete the file pdlapi.c: make_now noop, future_me etc stuff in pdl_destroy - PP: make_now is really a noop with above family changes - removed - doc updates DJB (09 Apr 02) - added 'use PDL::Math' to PDL.pm (but not Lite/LiteF versions) (22 Apr 02) - added Kaj Wiik's patch to use pgtbox in PGPLOT/Window.pm (#538831) -- this needs documentation! JB (07 Apr 02) - Moved $CTAB to become part of the $self object in PGPLOT/Window.pm This fixes the error that caused the second image plotted to hard- copy devices to become blank. DJB (02 Apr 02) - added Ben Gertzfield's patch for bug #538283 (pptemplate.pod location) CS - doc updates - box2d in image2d.pd - some more PGPLOT tline fixes - PGPLOT autolog stuff (as yet undocumented) - perldl -V (version info) - remove 'use PDL::Core' from PdlParObj.pm (static linking) - Makefile.PL: fix PDL::Config formatting, make solaris/usemymalloc/gcc message even more verbose - misc.pd: fix rasc bug (|| vs or) - add BUGS file DJB (27 Feb 02) - added finite fix for HP-UX systems to math.pd (by Albert Chin) CS - slice fix - pdlcore.h.PL: gimp fix - perldl Ctrl-C handling (Ken Williams tip!) - polyfillv: make lvalue sub DJB - PDL::IO::NDF::rndf() now accepts NDF sections (01/08/02) - added fft prototype to slatec.pd (from Jonathan Scott Duff, 01/17/02) CS - INSTALL & DEPENDENCIES update (bug #488867) - FlexRaw: read/write from open file handles (by Dov Grobgeld) - IO::Misc: fix filehandle code for rcols etc. add file handle awareness to rasc - slices.pd: improve 'index' error message CS - remove the defunct t/quat.t - fix PDL::GSL to work with libgsl 1.X CS - fix for #474736 (sym with points), needed that feature - applied symsize patch #474853 CS - fix for Dev.pm: load PDL::Types only once - stop PDL::IO::Pic warning by default 2.3.2 CS - change pdlcore.h.PL so that gimp-perl compiles again - Changes to Release_Notes, PDL.pm associated with making release 2.3.2 2.3.1 John Cerney (11/21/01) - Changes to Release_Notes, PDL.pm associated with making release 2.3.1 DJB - added WITH_IO_BROWSER to perldl.conf (default 0) to control whether PDL::IO::Browser is made. Will now compile on MacOS X 10.1. CS - get rid of Perl_die etc dependencies and other barfisms - make sure t/inlinepdlpp.t has a full search path to PDL::Core - Basic/Pod : podselect only when Pod::Select available CS - fix Makefile/Dev.pm bugs (that break build on PDL-free systems) - bump version to 2.3.1 2.3 John Cerney (11/13/01) - Changes to Release_Notes, PDL.pm, TODO associated with making release 2.3 - |= &= bug fix CS - inline fixes - dim & ndims aliases for getdim & getndims - perldl doc updates - reverting perldl.conf changes introduced in CVS - Makefile.PL: detect buggy solaris+gcc+mymalloc combination CS - fix Dev.pm warnings (triggered by Inline::Pdlpp tests) - Inline::Pdlpp docs CS - fix bug in Dev.pm that I introduced - change misleading topdl docs (fooled me!) - macosx patch CS - Tim's TERM patch - Stefan's Matrix patch - added PDL::API manpage - PDL::Core::Dev helper functions for work with Inline - pictests only for internal PNM format DJB (23/Oct/01) - changes to bad.pd in order to clean up build slightly (for instance we longer need to create pdlapi.c from pdlapi.c.PL) - added Diab Jerius' patch [ #469110 ] for rvals/options - added a test for this [and fixed a bug I'd introduced] DJB (15/Oct/01) - minor fix to ellipse (no longer requires options array) and to imag (will correctly handle transforms for axes with "-ve" pixel size, such as RA in Astronomy) CS - Xrange, Yrange for PGPLOT, fix tline and tpoints CS - niceslice docs, class methods for PDL::Options, perldl: enable niceslicing at startup (if available) Lvalue: add sever method CS - Inline::Pdlpp docs addittions, test script added CS - NiceSlice modifiers + bug fix CS - Inline::Pdlpp !!! DJB (23/Aug/01) - you no longer need to surround options by {} for PDL::Graphics::PGPLOT::Window->new() JB - Added a recording feature to the PGPLOT interface. CS - NiceSlice doc update JB (14/Aug/01) - Added a package wide store for options for env. This allows the next device to reuse the most recent set of env options. CS - minmax: return scalars! - PDL::Options for PDL::Graphics::Karma - disable PDL::PP SIG{__DIE__} overload by default DJB (07/Aug/01) - added VertSpace to ...PGPLOT::Window's legend() CS - make sure perldl works with NiceSlice - add nslice to lvalue funcs - new 'sclr' method - enhanced clump interface - pdlapi: backport pdl_get vaffine - experimental 'autosever' for PDL::NiceSlice - quieter 'mkhtmldocs' - fix OpenGL docs screwing up online help DJB (05/Aug/01) - applied wfits patch from Diab Jerius ([ #443431 ] wfits outputs illegal FITS keywords) - added test for whist to t/hist.t from DIAB Jerius (patch #443438) - added 'demo ooplot' to demonstrate "new" interface to PGPLOT CS - PDLCode.pm: fix bug #441586: PDL::PP cant handle pars with numerals CS - primitive.pd: fix random funcs so that they work with Perl's srand * does it work on pre-5.6 perls? * - update Lvalue documentation CS - slices.pd: fix lags bug #436823 - Fit/Polynomial.pm: normalization wasn't threaded (bug #438335) - PP.pm: make CoreSv linkage static (MacOSX) - Basic.pm: apply whist patch - PDL::SFilter renamed to PDL::NiceSlice CS - fix MANIFEST - fix 'reduce' docs - SFilter improvements - which and which_both now auto-flatten the input piddle to match 'where' behaviour - Core.pm: 'flat' change and added 'nslice' - pdlcore.h : compatibility with C++ compilation **** required renaming 'new' member of struct Core to 'pdlnew' !! **** CS - Makefile.PL: Filter::Simple, Text::Balanced dependencies - bad.pd: fix for win32 - Lib/Slatec/Makefile.PL: win32 fix - t/flexraw.t: remove extraneous 'use ExtUtils::F77' - t/poly.t: win32 needs larger error threshold ?:( - t/sfilter.t: script broke on platforms without prereqs - win32: general update for latest build; add slatec support DJB (20/Jun/01) - make bad.pd compile with PDL::Type changes and fix minor bug CS - fix rvals bug (annoying one!) - syntactical sugar: convenience operators for PDL::Type CS - Basic/SourceFilter (see also L) - generate PP templates with pptemplate - PP: pp_boundscheck (see PP.pm) CS - PP.pm: remove first '$this' arg from pp_add_exported! - LM.pm: fix implementation bug; still not sure if it works properly need more tests! - apply Raul's debian patch DJB (7/Jun/01) - minor fix for rfits() with bad-value support John Cerney (6/4/01) - Doco fix in complex.pd CS - image2d.t skip fix - mslice update - numeric for PDL::Char DJB (24/May/01) - fixed bug in Image2D::centroid2d when (x+box/2) > m (ditto for the y axis). Added bad-value support to centroid2d and max2d_ind DJB (8/May/01) - OpenBSD doesn't seem to have values.h, which causes Basic/Math to fail: see http://testers.cpan.org/search?request=dist&dist=PDL#2.2.1 Now using limits.h in Basic/Math/mconf.h for GNU systems - only tested on solaris and i386-linux. - fixed typo in debian/rules John Cerney (5/3/01) - Simple change to primitive.pd so that interpol sub makes it into the PDL namespace, and not just the PDL::Primitive namespace. Also added a simple test case for this routine. CS - F77CONF variable for debian build (see INSTALL) 2.2.1 John Cerney (4/25/01) - Changes to Release_Notes, PDL.pm, TODO associated with making release 2.2.1 CS - PDL::Lvalue -- PDL lvalue subs (added to loaders) - PDL::Matrix -- added docs - doc tidbits - don't test raster and SGI formats any more (pic(no)*rgb.t) John Cerney (4/11/01) - Modified t/opengl.t to turn-off the PERL_DL_NONLAZY env variable when running this test. Due to some inconsistencies in the opengl headers (gl.h, glu.h) and what functions are actually in the opengl libs, PDL's OpenGL.so sometimes (When using Mesa 3.3 for instance) gets built with interfaces to functions that aren't there. Setting PDL_DL_NONLAZY=0 prevents the test case from failing in these cases. DJB (10/Apr/01) - hacked Core/Dev.pm to work with perl 5.6.1 (ExtUtils::Liblist has changed although its documentation has not) CS - applied Christopher Marshall's minimum_n_ind patch (bug #413184) + test CS - fix mem leak patch so that core struct version croaking works * NOTE: recent patches will require recompilation of any external * modules that use PDL::PP; PDL will tell you when using such * modules * - barf is now really only an alias for croak; this is a test if we can live with the original croak; we should be able to! - update COPYING for the 21st century ;) John Cerney (4/3/01) - Modified Makefile.PL in Graphics to add '-lm' to the libs. This fixes a 'Can't locate auto/PDL/Graphics/OpenGL/glpcOpenWin.al' error in make test during opengl.t for some platforms. Shouldn't hurt otherwise. CS - make_physvaffine is now a member of the core struct - pdl_get is now vaffine aware (must be preceded by call to make_physvaffine) - worke around bug in the core logic (pdl_make_physical et al.) that cause index and others to leak memory; not the perfect solution yet but core logic is just way too confusing to make sense of it!!!!!! for details see comments in pdl_make_physical (pdlapi.c.PL) and pdl_initthreadstruct (pdlthread.c) - slatec: document the 'det' function DJB (26/Mar/01) - PDL::Func now sets bc => 'simple' as the default for Hermite interpolation. DJB (14/Mar/01) - PGPLOT::Window changes: addressed "undefined window size" part of bug #406858; added PosReference option + minor bug fix to transform() - renamed PosReference to RefPos. close() will print a message if a hardcopy device and $PDL::verbose is set, hack to fix bug #408589 (draw_wedge() erasing plot) for simple cases (15/Mar/01) DJB (27/Feb/01) - addressed PDL::Func bugs/doc issues as reported by HalldBBBBBBBBsr Olafsson and Vince McIntyre (bug #233484) CS - fix bug in pow in math.pd (reported on perldl mailing list) CS - fixed bug in writing pnms (bug #127696) - Core.pm: temporary fix to work around core bug (see comments in pdl_make_physical in pdlapi.c) that made convert leak memory (related to bug #116501) CS - fixed diagonal bug that caused apparently random errors (bug #116502) CS - changes for win32 compatibility: pdlcore.c: avoid die_where & co, use Perl_croak instead Math/cpoly.c: win32 doesn't know about values.h Lib/Image2D/resample.h: win32 doesn't know about M_PI t/fastraw.t: skip mmap tests on win32 - slices.pd: possible rotate segfault fixed - fix slight mslice problem (didn't make sure its inputs were converted to int) - new functions 'in' and 'uniq' in primitive.pd -> need tests - image2d: a slightly faster median: med2df - new function approx in Core.pm **** attention: possible name clash; test scripts should ***** **** use tapprox from now on ***** 2.2 John Cerney (20/12/00) - Minor changes to Makefile.PL and Reduce.pm for compatibility with perl 5.005 John Cerney (6/12/00) - Added new curve fitting routine: Linfit. Finds a linear-combination of specified functions that best fits data. (Similar to Polynomial.pm) Marc Lehmann (5/!2/00) - Don't add artificial newlines in PdlParObj.pm, you never know what the surrounding code might look like. Makes PDL compile with perl-5.7 again. John Cerney (5/12/00) - Updated log10 in ops.pd to have consistent copy behavior for subclassed objects as discussed in Objects.pod. - Expanded the tests in t/subclass4.t to test for log10 and other simple functions. CS - added some features to dice Doug Burke - rcols(): do not read an extra line with LINES option (Frank Samuelson) - added draw_wedge() (& DrawWedge option to imag()) to PGPLOT CS - fix call of Perl_croak in pdlthread.c for threading perls (reported by Diab Jerius) Doug Burke (03/11/00) - removed $_ from shorttype method: fixes $_->info() bug - perldl/pdldoc now list other matches to a help query (not wonderful) - fixed 0.5 pixel shift in imag() CS - fix bug in splitdim (didn't check nthdim) that can lead to coredumps - Dev.pm: malloc debugging support - Core.pm.PL: flat as clump(-1) alias bug in mslice: cast indices to int added Jarle Brinchmann (22/10/00) - Further bug fixes to PGPLOT added (courtesy of Kaj Wiik). Also a convenience function to calculate transforms (transform, courtesy of Kaj Wiik). - Examples/tests for the PGPLOT interface added in Example/PGPLOT Jarle Brinchmann (21/10/00) - Considerable re-write of PGPLOT. This now uses PDL::Option to set options. There is also now a OO interface PDL::Graphics::PGPLOT::Window which PDL::Graphics::PGPLOT now uses. - New functionality includes: - Interactive cursors (cursor) - Text on plots (text) - Legends (legend) - Circles, Rectangles, Ellipses - Multiple plot windows, oone can jump from panel to panel when the window is divided in several. - More control over options - see PDL::Graphics::PGPLOTOptions for details. This is not tested under Windows - and possibly not all functions work as they used to.. Doug Burke (18/10/00) - added warp2d (+ supporting fns) to PDL::Image2D. This allows images to be resampled using 2D polynomials as basis functions. - (19/10/00) bug fixes & clean up of documentation for above - rfits() now sets hdrcpy flag of piddle (so that the FITS header is copied to new piddles). Doug Burke - moved PDL::Type object from PDL::Core to PDL::Types. This shouldn't affect most people. CS - split primitive.pd into primitive.pd and ufunc stuff (ufunc.pd) - changed loaders to reflect this split (PDL.pm, Lite.pm, LiteF.pm) - moved 'assgn' to PDL::Ops (since it's primarily used for overloading '.=') - added conv1d to primitive.pd -> this one was dropped from the dist at some stage but it makes sense to have it - Pic.pm: print conversion message only when debugging - fixed a problem with TriD: APIENTRY not defined when processing glu.h (since include files are ignored) - added sever docs - a reduce function for PDL (Reduce.pm) - percentile projections patch applied to primitive.pd - fix some thread_define problems Doug Burke - improved support for bad values in r/wfits and r/wndf - added setbadtonan() to PDL::Bad. - moved log10() entirely over to Basic/Ops/ops.pd (so it's no longer defined in PDL::Core. CS - moved trylink to Dev.pm (L) - modified Graphics/Makefile.PL accordingly Doug Burke - cleaned up endian support. Threw out my check_endian stuff since perl already knows - there's a isbigendian fn in Dev.pm (eg see IO/Misc/misc.pd) - added setvaltobad() and setnantobad() to PDL::Bad, renamed replacebad() to setbadtoval() (perhaps should keep it as an alias?) setnantobad doesn't work (yet) if $PDL::Bad::UseNaN == 1 CS - added Matrix.pm (suggestion by Stephan Heuel) - Core.xs.PL: getdim, at and set now support the 'infinite dim' piddle behaviour discussed on pdl-porters - perldl: $bflag incorrect due to low 'and' precendence - PDL.pm: the version was still far behind ;-( - Basic.pm: PDL->null breaks inheritance - Core.pm.PL: allow <2D piddles as arguments in creating functions (not yet reflected in the docs). Another step on the way to improve the balancing act between scalar and 1D piddles and normal perl scalars - Core.xs.PL, pdlcore.h.PL: PDL.malloc -> PDL.smalloc renamed - Core/Makefile.PL: endian stuff only when WITH_BADVAL (reduce likelihood of build problems); don't assume that '.' is in the PATH (good distributions like DEBIAN avoid that ;) - Doc/Perldl.pm: new (undocumented) aproposover function -- do your own thing with returned matches - karma.pd: PDL->malloc -> PDL->smalloc Doug Burke (09/06/00-09/07/00) - Core and pdl_trans structure are now the same, whatever the choice of WITH_BADVAL and BADVAL_USENAN. The version number of the core has been bumped to 2 (removing the need for Christian's recent patch) since this is binary incompatible with PDL 2.1.1 - clean up of build process - both because of above change and also to stop problems when switching between WITH_BADVAL = 1 and 0. - exported several routines in PDL::Bad Jim Edwards - improved OpenGL detection during 'perl Makefile.PL' Doug Burke (09/05/00) - minor clean-up to the build process. Now creates Basic/Core/badsupport.p in top-level Makefile.PL for when PDL::Config hasn't been created - fixes setting BADVAL options in ~/perldl.conf Doug Burke - Bad value support integrated into the main branch. Set WITH_BADVAL to 1 in perldl.conf to use. See Basic/BadValues.pod for more information and try the two demos (demo bad, bad2). Many of the internals have been tweaked (eg many more files are created at compile time in Basic/Core - including Dev.pm; m51.fits is now installed for the bad2 demo ...) - Basic/Core now contains isbigendian.p - this is created at compile time. IO::Misc::isbigendian uses this. - IO::NDF now saves byte piddles as "_UBYTE", rather than "_BYTE", NDFs - log10 is now in Ops (using C-library version), although a version is left in Core.pm.PL so that log10(2.3) returns a perl scalar, not a 0D piddle - removed 1-argument form of where() since been deprecated long enough Jim Edwards - swcols added to IO::Misc - like wcols but to a string, not a file Jim Edwards (08/25/00) - minor bugfix in TriD contour3d - added Labels to TriD contour3d options Doug Burke (08/12/00-08/13/00; 08/17/00) - minor bugfix to Graphics/Karma/Makefile.PL - made qsort and qsort_ind C routines in primitive.pd available to all modules via the PDL Core structure (pdlcore.h is now created by pdlcore.h.PL) and updated image2d.pd to use this (+ bug fix to patch2d) - added double precision versions of sum, sumover, cumusumover (same for prod) and average (eg dsum, daverage). Added prodover routine Changed stats to use this (+ changed PDL::Tests to avoid name clashes) - revamped Types.pm.PL - made Inplace option for pp_def a bit more sensible - marked several functions in math.pd as inplace (needs documenting) - fixed rndf() so that can use rndf('../bob') Jim Edwards (08/08/00) - Major changes to the TriD code (requires perl 5.6.0) Doug Burke (08/02/00) - 'bool' to 'boolvar' in cpoly.c to get it to compile under Linux - added 'Inplace' rule to PP.pm to flag a routine as inplace (see ops.pd) - minor improvement to PP output if $::PP_VERBOSE is set CS - ops.pd: fix inplace problem (reported by Tim Conrow) Doug Burke (07/27/00) - some minor changes to PP.pm & PDLCode.pm (no longer generates 'THISISxxx' macros in xs code unless they're required. CS - PP: don't use copy method when HASP2Child - Makefile.PL: no .3 manpages CS - Core: pdl.h dependencies - pdlapi.c: comments and debugging - ops.pd: docs fixes - PGPLtw.pd: doc fOT_demo: choose /GW on MSwin32 - mkpdlfuncpod: some experimentation - Karma/Makefile.PL: malloc debugging support - CallExt/Makefile.PL: malloc debugging support - fftw.pd: doc fixes, exports and convolution - slatec: error handler now calls croak (instead of being fatal) - VRML: fix problem with prototype registration Doug Burke (7/02/00 - 7/9/00) - stopped some excess code generation & improve legibility of some code in Basic/Gen/PP.pm and Basic/Gen/PP/PdlParObj.pm - minor doc cleanup in Graphics/TriD/Rout/rout.pd (lack of head3 in pod) - added a test to t/hdrs.t to pick up a bug I'd introduced - replaced Basic/Core/mkpdlconv.p by Basic/Core/pdlconv.c.PL, removed mention of pdlbasicops in Basic/Core/Makefile.PL Tim Jenness (6/30/00) - PDL::CallExt now works on WinNT with VC++ Doug Burke (6/29/00) - added methods to PDL::Type - enum, symbol, ctype, ppsym, realctype and shortctype - which provide access to information in PDL::Types eg print byte->ctype prints "PDL_Byte". Changed info in Core and rcols in IO/Misc to use these methods. Currently un-documented. Tim Jenness (6/28/00) - miscellaneous patches for Win32 support Make Callext.pm and callext.t more generic Lib/Image2D check for presence of rint() Add ABSTRACT and AUTHOR to top level Makefile.PL - conv.t now uses the Test module Doug Burke (6/21/00; 6/22/00) - mkhtmldoc.pl should now handle links to scripts in Index.pod for perl < 5.6.0. Removed link hacking for perl >= 5.6.0. 2.1.1 CS - fix Perl_croak problem with 'usethreading' Doug Burke (6/15/00) - hand-rolled podselect (podsel) created if perl version earlier than 5.6.0 Doug Burke (6/9/00) - added Christian's changes to online documentation to support scripts (eg see Index.pod or Index.html) Jim Edwards (5/19/2000) TriD (cvs brance trid_experimental) (merged 6/7/00) - several changes in TriD including a new Tk widget, see the file PDL/Graphics/TriD/README - added TkTriD demo to perldl.PL 2.1 Marc Lehmann (6/7/00) - enable sincos optimization only for glibc >= 2.1 CS - warn if 5.004 that next version will require 5.005 - PL_na issue in PGPLOT.xs - disable sincos optimization in complex.pd until glibc issues sorted John Cerney (6/2/00) - Updated FAQ to match the Jarle's version at http://www-astro.physics.ox.ac.uk/~jarle/PDLfaq/pdlfaq_new.html Doug Burke (5/31/00) - more minor doc patches John Cerney (5/26/00) - Applied patch to fix reflect options in conv2d (image2D function) not being symmetric. Ref sourceforge Patches 100287, 100359, and Bug 104614. Doug Burke (5/25/00) - added 'pdldoc' shell command to provide access to PDL documentation without having to start up perldl - cosmetic changes to output of usage + minor doc change to PDL::Basic John Cerney (5/25/00) - Modified PP.pm to call $arg1->copy for subclassed objects in some simple cases, otherwise call $class->initialize. See Basic/Pod/Objects.pod for a detailed discussion. Doug Burke (5/23/00,5/24/00) - corrected faulty t/interp.t and t/interp_slatec.t scripts - minor doc changes to Indexing.pod, image2d.pd, fft.pd & NDF.pm - added FRAME option to iis (Graphics::IIS) CS - hopefully the PDL::Filter modules will work now a proper test should be added Doug Burke (5/22/00) - Graphics::IIS - now works with new PP code + minor doc changes - Func - changed gradient() to work as described + added PDL::Func:: to method names in the documentation so they do not get picked up by perldl's help (eg 'help set') - \s to \\s in getfuncdocs() to avoid warning in Doc/Doc.pm John Cerney (5/21/00) - Minor Changes to Basic/Gen/PP.pm to fix error reporting, and to get rid of some warning messages when run with the -w switch Doug Burke (5/19/00) - Amalgated Interpolate & Interpolate::Slatec into PDL::Func (found in Lib/). I've left the old files in the distribution, although they're no longer made/installed, in case anyone wants to do a better job. - minor doc changes to Image2D zowie - Changed PGPLOT::im to PGPLOT::imag1 (1:1 aspect ratio shortcut). Avoids conflict with the imaginary-component sub by the same name. CS - fix for sever mem-leak -> ultimate source seems to be a problem in destroytransform on un-physvaffined piddle -- needs proper tracking down!!!! - more types for Otherpars (PP.pm) Doug Burke - added PDL::Interpolate and PDL::Interpolate::Slatec which provide a (hopefully) simple, OO interface to interpolation methods CS - correct PDL::Ops docs - fix problem in pdl_croak_param (pdlthread.c) due to changes in Perl_mess in perl 5.6 - update TODO zowie - Autoloader update (handles '+' for entire dir trees) - Graphics::PGPLOT::imag update (includes options for image scaling) - perldl update (minor fix to avoid null code ref bug in PDL::myeval) CS - debian stuff - image rotation (rot2d) - karma kimagergb renamed to krgb krgb -> can send 3d RGB piddles now (i.e. [3,x,y,z] piddles) CS - quick (and semi-dirty) inplace fix for ops.pd - slices.pd: fix xchg,mv not catching negative dims, treat neg dim indices like neg perl array indices Doug Burke (4/29/00) - fixed interpol failing to recognise extrapolation at 'high' x + added interpolate with slightly different error handling - commented out 'use PDL::Lib::LLSQRout' in PDL/Lib/Gaussian.pm Tim Jenness (4/26/00) - Patch mconf.h so that it works on Alphas running Linux Doug Burke - fixed apropos command to work with perl 5.6.0 - t/poly.t failed on solaris 2.7 with new PP code. Changed check from < 200 to < 210. - added PDL:getdim to Core.pm documentation Doug Hunt (4/26/2000) - Merged fast-xswrapper branch back to main PDL tree. - Left Ops thus: All ops are are overloaded to call XS as directly as possible, but the direct call of ops such as : $a->plus($b, 0) requires the '0' argument which tells the XS routine 'plus' not to swap the arguments. CS - slight ops.pd changes - match prototypes with original ones in complex.pd - some more work on PP.pm (yet unfinished) Doug Hunt (4/19/2000) - Cleaned up Ops to take advantage of new fast XS wrappers Doug Burke - changes to pod to HTML conversion. Links between modules - eg L - should now work. See Doc/mkhtmldoc.pl and Doc/scantree.pl - minor doc changes to a number of files - Improved output from apropos (aka ??) in the perldl shell: 1) ref string is now cleaned of any pod directives (eg C<$a> -> '$a') 2) the formatting has been improved, so that it fills the screen, word-wraps, and indents the ref string if printed on new lines 3) better handling of long names As an example, try 'perldl> ?? str' before and after. However, it's a *horrible* hack - using undocumented parts of Pod::Text to do 1 and 2, and calculation of screen width is poor. Needs testing on perl 5.6.0 for a start! CS - applied vaffine leak fix to main branch - new polyfill function (image2d.pd) - some (unfinished) preparations for easier leak debugging, see perldl.conf Doug Burke - Added PCHIP routines tp PDL::Slatec (interpolation, differentiation, and integration of functions). Also moved creation of SlatecProtos.h from Makefile.PL to slatec.pd - stop wfits() from complaining when reading in the header of FITS files from the DSS server at STScI - minor clean up of write_dummy_make() Basic/Core/Dev.pm - minor doc updates for PDL::Primitive and PDL::Basic - converted FFTW and GSL to use write_dummy_make() in Makefile.PL Tim Jenness - Update PDL::IO::NDF to v1.02, enhance reading of axis errors plus some bug fixes. - Add test for PDL::IO::NDF - Added polynomial fitting routines to PDL::Slatec (polfit, pvalue and pcoef) John Cerney - Added (psuedo)-support for variable-size strings in PDL::Char 2.005 CS - version to 2.005 - finally try to fix 5.6.0 problem correctly Doug Burke (4/4/00) - Changed to Basic/Makefile.PL to install man pages for PDL, PDL::Lite, PDL::LiteF, and PDL::Options. - Changed Makefile.PL to allow installation of documentation if INSTALLDIRS=perl (rather than site) is used CS - applied Karl's 5.6 patch to pdlcore.c - typo in Doug's error message fixed Doug Hunt (3/23/00) - Improved error messages in PDL::Graphics::PGPLOT for the case when the correct version of PGPLOT (v2.16 or later) is not installed. 2.004 John Cerney (3/16/00) - Added -lm to the Lib/Image2D/Makefile.PL suggested by Doug Burke to fix a compile problem on Solaris 2.7. John Cerney (3/15/00) - Added Christian Pellegrin's bilinear and image scaling patch. with cleaned up docs and test cases. - Update Version to 2.004 Doug Hunt (3/8/00) - Added 'use PDL::Graphics::PGPLOT' to Demos/PGPLOT_demo.pm. Now it works. This bug was introduced in my 3/2 and 3/3/00 changes. John Cerney (3/5/00) - Modified Basic/Complex/Complex.pd to not generate warning messages when re-defining the PDL overloaded operator subs. Doug Burke - IO::Misc - default type for DEFTYPE (rcols option) is now definable using the $PDL::IO::Misc::deftype variable. Doug Hunt (3/3/00) - Removed PDL::Graphics::PGPLOT from PDL.pm. This had been causing troubles due to the previous change which took away autoloading in PGPLOT. Doug Hunt (3/2/00) - Updated Graphics/IO/PGPLOT, adding a typemap and a PGPLOT.xs file. This change added capability to PDL::Graphics::PGPLOT::line, allowing one to use the 'MISSING' option. When this option is specified, 'line' will draw many disconnected polylines (delimited by the value specified as 'MISSING') instead of just one. This is useful in drawing maps with line. Marc Lehmann - Patch to Basic/Core/Dev.pm fix Parallel build bug. (Ref PDL-Porters Messages dated 1/8/00 and 1/5/00.) - Small Patch to Graphics/Karma/karma.pd. Change 'na' to 'PL_na'; (PDL-P msg 1/15/00) Robin Williams: - Patch to Graphics/TriD/OpenGL/generate.p to get OpenGL working on OSF (it crunched because perlxs interprets the #ifs as comments if they're indented). Karl Glazebrook: - Patch to Perldl.PL to improve readlines handling: - tells you which module it is using - correctly informs whether editing is available or not John Cerney - Documentation fix for FlexRaw.pm (Based on change submitted by Francois Primeau.) - Updated Makefile in FFTW to correct a build problem that occurs when both single and double FFTW libs are present. (suggested by Diab Jurius). - Updated TriD Makefile to find openGL libs specified in the perldl.conf file. - Updated Graphics/TriD/OpenGL/generate.p to include patch by Diab Jerius (ref PDL-Porters message dated 11/9/99). This fixes compilation problems with native openGL on solaris. Note: Patch to Graphics/TriD/TriD/GL.pm was not applied. (Risk of breaking GL on other platforms) CS - added function 'det' to PDL::Slatec -> calculate determinant Doug Burke - Graphics::LUT - added several intensity ramps, instead of just using a linear scale. - internal changes to Graphics::LUT - now stores data in external FITS files rather than within the module to improve speed and reduce use of disk-space. - first attempt at improving installation of OpenGL stuff - Graphics/IIS/iis.pd: minor change (re Christian's PP changes) - Graphics/PGPLOT/PGPLOT.pm: add CENTRE option [bin()], doc update - minor code cleanup for IO/NDF/NDF.pm and IO/Misc/misc.pd - added docs for sethdr to Basic/Core/Core.pm Marc Lehmann - small changes to complex.pd: remove bogus Cneg, streamline docs. Doug Burke - added TYPES/DEFTYPE options to PDL::IO::Misc::rcols() to specify the type of the piddles NOTE: (!!!) different from patch to 2.003 sent to perldl list (http://www.xray.mpe.mpg.de/mailing-lists/perldl/2000-01/msg00037.html), as you now specify the types directly, rather than as strings. - added HEADER option to PDL::IO::Misc::wcols() - added BORDER option to PDL::Graphics::PGPLOT - added examples of new PGPLOT options to 'demo pgplot' - added t/lut.t to test PDL::Graphics::LUT, and added tests of options in rcols() to t/misc.t - minor doc update for PDL::Primitive - example for whichND() now works CS - introduced switch for automatic hdr copying, off by default - PP: added pp_addbegin, pp_beginwrap and pp_setversion pp_addxs now adds to the current module's namespace by default, !not! to PDL anymore (patch by Marc Lehmann) pp_addisa now really works as advertised (i.e. adds to @ISA and doesn't split on whitespace anymore) - misc.pd: bswap functions work always inplace, remove [o] from sigs - added PDL::Complex to the dist (first try of a derived class), does remarkly many things already but needs some testing, donated by Marc Lehmann Doug Hunt - added PDL::Char, a subtype of PDL which allows manipulation of byte type PDLs as N dimensional arrays of fixed length strings Doug Burke - added AXIS option to PDL::Graphics::PGPLOT + doc changes - added PDL::LUT module to provide colour tables - useful for PGPLOT's ctab() function (note: plan, in near future, to change to a binary format to reduce size of this module) CS - Levenberg-Marquardt fitting module - added required additional slatec functions + some docs - some handy bits for PDL::Options function interface - bool.t didn't make it into 2.002 (touch problem?) - fftw.t test shouldn't rely on another module - PDL::Doc: support input from more than one file - Slatec/Makefile.PL: #include "g2c.h" seems unneccesary (and leeds to trouble on my debian 2.1 system) - PGPLOT patch from pdl-porters - Robin's Basic/Math patches 2.003 Christian Pellegrin - Patch to add an interface to the GSL (GNU Scientific Library) package. - Patch to compile under perl5.005_57 - Patch to add an interface to the FFTW library. (A free C FFT library including multi-dimensional, real, and parallel transforms) Christian Soller - Patch to add 'any' and 'all' functions to use for comparison operations. (e.g. This enables things like any($pdl == 3.2) or all($pdl > 0) ) - Patch to picnorgb test to fix greyscale and rgb generation on some platforms. - Misc Patch: Make Image.pm return 1. Make the gaussian fit routines use the correct xvals. Karl Glazebrook: - Patch to Basic/Core/Basic.pm to fix bug in centre=> when operating on pre-existing array. John Cerney: - Put File::Spec in the PREREQ_PM list. (PDL now requires File::Spec since PDL2.002) - Removed of ExtUtils::F77 from the distribution. Added ExtUtils::F77 to the PREREQ_PM list. (ExtUtils::F77 is already on CPAN separately. Having it also distributed with PDL causes confusion.) - Fixed cumuprodover docs to be similar to cumusumover. - Fixed typo in squaretotri function. (na changed to mna) - Fixed IO/FlexRaw to find properly find the howbig function. - Fixed export of rasc and rcube in IO/misc/ misc.pd. Brian Craft: - Patch to FastFaw.pm to fix sysread problems when reading from fifos. Lupe Christoph: - Patch to OpenGL.xs to compile with perlio/sfio. Brain Warner: - Patch so t/poly.t doesn't fail if Slatec not installed. Robin Williams: - Added Singular Value Decomposition (SVD) function. - Patch to IO/Browser/hists/dec_osf.pl to fix small syntax in -D_XOPEN_SOURCE_EXTENDED define flag. - Patch to Basic/Core/pdlthread.c to clarify error messages when barfing. - Patch to fix problems with generate.p and OpenGL on Solaris. Helmut Jarausch: - Change to pldcore.c to fix problem compiling on a IRIX6.5.3 box using perl 5.005_57 Mark Lehmann: - Patch to pdlcore.h and PP.pm to overwrite croak() via PP and not in pdlcore.h Joshua Pritikin: - Fix to Basic/Core/mkpldconv.p to change na variable to n_a. Al Danial: - Patch to fix compilation on RS/6000 running AIX 4.3.2 and perl 5.004_04. Doug Burke: - Patch to iis.pd to allow the user to change the title of an image displayed with iis(). - Patch to IO/Misc/misc.pd: 1) Added option PERLCOLS so you can now read in columns into perl arrays at the same time as reading in data into piddles. 2) Changed the meaning of the 'c' parameter in the LINES option. It will only affect you if you use LINES together with INCLUDE/EXCLUDE. 3) It now complains if you forget to surround patterns by // 4) It will also warn you (if $PDL::verbose is true) if no data is read in from a file. - Patch to PP.pod docs to clearup PRIV/CODE usage. Tim Pickering - Patch to Basic/Math/Makefile.PL to get the bessy0 and bessyn working again in glibc 2.1 systems. (glibc 2.0 as in RH 5.2 or debian 2.1 is not affected) 2.002 John Cerney: - Modified Basic/Core/Makefile.Pl so that ppport.h gets properly installed. - Removed Version.pm from distribution. This file now gets auto-generated during the build process. - Fixed permissions of Known_Problems file. - Misc Changes to Doc/mkhtmldoc.pl and Doc/scantree.pl to make html links work correctly. - Minor documentation fixes. Christian Soeller: - Fixed documentation build problems. Install process now builds a index html file. - Changes to get the win32 activestate port going. (available from ftp://ftp.aao.gov.au:/pub/perldl/dev/Win32) - Changes to compile under cygwin32. Doug Burke: - Modification to slices.pd docs clarifying the usage of -1 to indicate the last element when slicing. - misc.pd doc modification to indicate that rcols() will ignore lines beginning with a # character if no pattern is specified. - misc.pd patch to rcols where options can now be given to: only include lines matching a pattern exclude lines matching a pattern only use a specified range of line numbers - Patch to Graphics/IIS/iis.pd to fix warning messages when running with the perl -w flag. Karl Glazebrook: - Updated F77.pm to match version 1.10 of ExtUtils-F77. - Added polynomial fit package Polynomial.pm - Patch to Lib/Slatec/Makefile.Pl to fix problems compiling on sparc/solaris - Patch to Basic/Primitive/primitive.pd to make matmult thread properly and to make matmult an exported function. - Patch to Makefile.PL that allows PDL to be built and installed conveniently away from it's final destination. This is useful for making RPMs. Joshua Pritikin: - Patch to pdlcore.c moving some #defines around to improve portability between perl versions. Kristian Nielsen - Patch to Basic/Primitive/primitive.pd to fix whistogram and whistogram2d problems and updates documentation. Robin Williams - Update to Basic/Math/Makefile.PL. - Update to Basic/Primitive/Primitive.pd to include new functions. zcover, andover, etc. - Patch to FFT to fix but with single-column/row kernels Tim Jenness - Patch to IO/NDF/NDF.pm that updates the POD documentation and makes sure that the reader skips any array extensions (like those generated by Starlink CCDPACK). - Patch to Lib/Slatec/Makefile.PL to fix problems compiling slatec with g77 on Redhat linux - Patch to t/argtest.t, t/scope.t to get rid of warning messages. - Patch to perldl.PL that allows a user supplied subroutine to be called to pre-process all perldl strings. James Williams: - Patch to mkhtmldoc.pl to fix problem with not generating all html files. 2.001 John Cerney: - Added reference to the CPAN testers results page to the README file. - Fixed improper comments (causing warning messages) for '#endif _pdlmagic_h' in pdlmagic.h - Removed reference to PDL being only at 'alpha release' in Indexing.pod. - Updated Christian Soeller's email address in all files. - Clarified docs on the RMS element returned by the stats function. - Changed how $PDL::VERSION is set so CPAN will pick it up correctly: * PDL::VERSION is now set directly in PDL.pm * Makefile.PL reads $PDL::VERSION from PDL.pm and auto-generates Basic/Version.pm Joshua Pritikin: Changes for compatibility with PDL-Objstore. Includes all the fairly conservative changes. More radical changes to come. - Deals with portability between perl versions using Devel-PPPort. - Adds a version number to the PDL API. - Optional bounds checking for PP. - Simplistic support for C++ comments in PP code. - Much improved searching for the Solaris math library. Jarle Brinchmann: - Added 'isempty' function. Robin Williams: - Doc tidying in Basic/Math together with a wrapper routine for eigens and the start of a test set. Karl Glazebrook: - Patch to where function in primitive.pd to fix bug in ($i,$j,$k) = where($x,$y,$z, $x+5>0) - Added PDL::Fit-Gaussion Module - Patch to Core.pm so you can say $a = float(3,4,5) just as you can say $a = pdl(3,4,5). - Patch to slices.pd to export the dice and dice_axis functions. Robert Schwebel - Patch for the "perldl" shell that does the following: 1.) Print out usage information if non-valid option is given. 2.) Introduce "quit" equivalent to "exit" 3.) some linebreaks to fit comments into 80 char terminals Christian Soeller: - Commented out the close(STDERR) lines in pnd.pd to fix a problem where the output from a 'die' is not seen for certain test cases after using rpic/wpic from PDL::IO::Pic. - Misc Patch: - negative positions for dummy - matmult now also supports promotion to sig dims - PDL::matmult naming corrected - MathGraph: call PDL::random - Pic.pm: use PDL::Options -> minimum matching now supported removed 'close STDERR' calls - tifftopnm converter: added -nolut option - pnm.pd: get rid of 'uninitialized...' warning - flexraw.t: fix for broken linux dists that don't have compress (but gzip) - picnorgb.t: hopefully got rid of error with SGI format - slice.t/matmult.t: tests for new features. - Patch to - fix a bug when using pthreads and output argument creation - new function PDL::Core::pthreads_enabled - updated pthread.t - Fixed a problem in pdlapi.c where some vaffine optimizations had been broken by in a previous version. (Karl also added a test case to complain if this is broken again.) Doug Burke: - Patch to clean up some of the PGPLOT documentation. Harry Felder: - Patch to Basic/Math/Makefile.PL to not depend on PWD environment variable. Doug Hunt: - Patch to Core.pm to add '$PDL::undefval' variable, which controls how undefs are treaded when a PDL is created from a perl structure using pdl(), float(), double(), etc. Tim Jenness: - Change to perldl to accept -w flag. This runs perldl with the perl warnings (i.e. the perl -w flag) enabled. 2.0 (1.99990 with very minor changes) John Cerney - Fixed duplicate entry of PDL::IO::NDF information in the DEPENDENCIES file. - Added more items to Known_Problems file. 1.99990 John Cerney: - Renamed reorderDims method to reorder to slices.pd Christian Soeller: - Dimension promotion of 0-d PDLs patch. - Patch to pnm.pd to fix bug reported to the list by Karl. Tuomas Lukka: - Allow mmapping of null piddles (i.e. zero-length vectors: dims = (0)) - Fix Math spelling mistake: PI0 -> PIO - Fix Math compilation error: add ++ - Added close(fd) at the end of set_data_by_mmap in Core.xs Karl Glazebrook - Added Rcube to IO/Misc.pd Reads list of files directly into a large data cube (for efficiency). - Corrected spelling error in the README file. Pete Ratzlaff - Fix to imag() in PGPLOT.pm to set the world plotting coordinates to a more sensible result when specifying a translation. Jarle Brinchmann - Added FITS header support for comments & history. Joshua Pritikin - Patch to pdlapi.c to fix obvious memory leak. - Patch to PP.pm to workaround @_ bugs in perl5.005. Robin Williams - Fix for some reported compliation problems with Math library. 1.99989 Tuomas Lukka: - Added Fractal Mountain range to Tri-d demos - Corrected error in impatient.pod. ('top right' to 'top left' in 'Sections' section.) Tim Jenness - Updated dependency file to reflect the addition of PDL::IO::NDF to the distribution. Anton Berezin - Modified Basic/Math/Makefile.PL to fix potential conflicts with temp files in the /tmp directory John Cerney: - Added reorderDims method to slices.pd - Modified subclass2/3.t tests to be more representative of how a functional object would be subclassed. - Added '-I/usr/X11R6/include' to the default OPENGL_INC in perldl.conf Robin Williams - Cosmetic patch to TriDGallery - Addition of intover (integral) to Primitive.pm - Changes to Basic/Math files so that nan and infinity handling are now in a consistent interface. Pete Ratzlaff - Fixes typo in Gaussian.pm Karl Glazebrook - Patch to IO/Misc/misc.pd to fix a minor bug - Patch to IO/Misc/misc.pd to be more memory efficient. - Update to Simplex.pm docs to be more clear to mere mortals. Addition of tsimp2.pl example. Joshua Pritikin - Patch to pdlmagic.h to fix problems compliling with SunPro 4.2 C++. Christian Soeller: - Added a quick/simple ascii file reader (rasc) to IO/Misc.pd 1.99988 Christian Soeller: - patch to make the picrgb/picnorgb tests fail more gracefully with the commonplace 'maxval too large' problem. - Corrections for docs in PGPLOT.pm - Fix for pnm.pd to revert the STDERR redirection after a file is opened. Karl Glazebrook: - Updated Slatec's F77.pm from version 1.07 to 1.08 - Added qsorti function. - Added Karma text overlays - Added new indexing function dice_axis Robin Williams: - Fix for browser warnings appearing on finicky systems. Jarle Brinchmann: - Updated to PGPLOT.pm so that if you input a (100,1,100) image to imag, the 1-element dimensions will be ignored. It also checks that the piddle doesn't get too small, so that if you input a (100, 1, 1, 1) image, it will be treated as a (100,1) image by PGPLOT. John Cerney: - Modified PP.pod to get rid of 'head3' errors from the pod2man converters - Modified PDL.pm PDL::Lite.pm , PDL::LiteF.pm so that the $VERSION would be picked up correctly. 'use PDL 2.0' now correctly checks the version. - Fixed dead links in pod documentation. - Added dice and dice axis indexing functions in slice.pd (Cerney and Glazeblook) - Modified PdlParObj.pm to clarify 'too few dimemsions' errors. 1.99987 Karl Glazebrook: - Fix for minor array bounds bug in image2d.pd - Addition of PDL->create and PDL->destroy to pdlcore Core.xs - Change to perldl.conf to (a) Makes Karma find X better, (b) finds MesaGL as well as GL by default - Modification of the pic*rgb.t tests to fail more gracefully with bad converters. - Patch to Graphics/Karma/karma.pd to sort out some non- standard options casing. - Patch to Basic/Math/mconf.h to conditionally define INFINITY - Fix to IO/Misc/misc.pd so you can use pipes, + minor doc fix/update Jarle Brinchmann: - Minor Demos/PGPLOT_demo fix. Tim Jenness: - Patch to Core to get PDL->new() etc working. (pdlapi.c, pdlcore.h and Core.xs ) - Patch to perldl.PL so that $string, $code and $coderef can be used by the user. - Changes made to directory structure so NDF.pm would be installed correctly. Kaj Wiik - Minor syntax fix to PG_PLOT.pm 1.99986 Robin Williams: - Test for fft and fftconvolve and fix for fft.pd Karl Glazebrook: - Fix for PGPLOT to work more like it should Anton Berezin: - F77 Fixes for freebsd Anton Berezin - Fix to Pnm/pnm.pd to work under perl5.005 John Cerney - Fixes for subclassing to work properly - Addition of more test cases. - PP.pm and PP.pod additions for subclassing. - Minor Change to Html.pm to correct problem with it creating false html references from .pod text that contained '=head' as examples. - Updates to Doc/mkhtmldoc.pl to fix most problems with html documents not referencing each other correctly. In order to not change multiple .pod documents and documentation in .pm files, html docs will now be installed in ..../site_perl/PDL/htmldocs/PDL instead of ..../site_perl/PDL/htmldocs. (If installing over a previous version, the html files in .../site_perl/PDL/htmldocs should be deleted to avoid confusion. Robin Williams: - FFT test file addition (t/fft.t) (Test number 2 fails... commented-out for now) Andy Dougherty, John Cerney - Changes to compile with perl5.005 Anton Berezin: - Change for Browser to compile with freebsd Robin Williams: - Change behavior of overloaded bool operator to not stringify. This was causing a major slowdown in cases where a PDL object was being tested in a boolean context. (e.g. if($PDL){ ...} ) 1.99985 (2.0 one half to go ) Karl: - PGPLOT_demo.pm was hosed by Tjl. Fixed - same put in Makefile.PL and perldl.PL - perldl.PL: syntax error. - fft.pd: remove printf Tjl: - (noticed by Robin Williams) Whitespace removals - removed ops.pd SYNOPSIS Robin: - fix to browse building Dov Grobgeld: - the two pnm.pd one-liner for 5.005 (wpnm, rpnm) 1.9998 (2.0 try 7, one more to go ;) Robin: - spelling updates - PP.pm: silence xsubpp about prototypes - TriDGallery fixes - perldl: use pager, accept sub as prompt (added to by Achim) - PS to pnm in IO/Pnm/Pic.pm - MPEG border - ninterpol (n-dim regular grid interpolation), Lib/ImageND - badmask - fft.pd minimal patch - "using" - MPEG writing into stdin - save tmp files - fft new version - PP fixes: $P and cosmetics - rebin (N-dim rebinning algorithm) - rotate - curses.h include [ didn't include index() patch - incompatible. Maybe new name? ] Karl: - ExtUtils/F77.pm new version - debug/verbose patch - shift_elements (but supplanted by Robin's rotate later) - new Karma - NAN shall not spoil minimum/maximum - Make list() listindices do the right thing with nulls Tim Jenness: - fix misc problem when trying to write complicated headers to fits files - NDF writing/reading using the perl NDF module - MAIN__ into slatec.pd to avoid linkage errors - PDL::Options - minmax docpatch (modified by Tjl) Jarle: - PGPLOT update Joshua Pritikin: - -M, -m, -I arguments to perldl schinder@pobox.com: - use -f in Makefile.PL Tuomas: - Fix strndup in pdlthread.c - error if RAND_MAX not defined - cumu* (cumulative sum,product 1.9908 (2.0 try 6) Tjl: - memleak patch (idea by Robin) - pdl_destroytransform so that it doesn't core dump easily any more. 1.9907 (2.0 try 5) Christian: - major patch containing stuff from other people. Joshua: - dTHR -> errno if not defined Tjl: - quaternion rotate routine was totally hosed. added tests (probably will cause bad things where TriD doesn't exist :(.. 1.9906 (2.0 try 4) Robin: - patch Tjl's botched edit to his game of life - perldl.PL: do paging with page() and nopage(). Achim: - doc_install, pure_perl_install.. hopefully these now work Joshua Pritikin: - rename 'thr', 'op' and fix fftn.c error message for non-sick compilers - fix NAN on suns Tjl: - add #ifdef dTHR to be compatible with 5.004_* 1.9905 (2.0 try 3) Someone (lost the mail): - realclean Basic/Core/Config.pm Achim: - don't install pod2usage, pod2select in script dir - Lib/ImageRGB -> ImageRGB (!!!) - DEBUGGING => PDL_DEBUGGING - install patches for 5.005 Tjl: - remove gotos from str2D to not tickle bug in 5.004_64, which I couldn't reproduce at smaller scale :( - at Karl's prompting, removed the other mandelbrots for now :( - Fix memory leak (reported by Kaj Wiik) - change sin, cos, asin, acos, log, exp and the like to be [F,D] GenericTypes only. Robin: - TriDGallery: game of life! (edited by Tjl) Karl: - new karma.pd - reshape patch - callext patch 1.9904 (2.0 try 2) Tjl: - (Andreas Heitmann): rename rs in the rest of places - (Robin): openglq.pd: make COLORSAD not to warn for nonconstant init Karl: - histogram fix (which earlier fell through Tjl's fingers) - new ExtUtils::F77 - "aargh" patch Robin: - Demos/TriD2.pm: fix state at end - fix stupid Makefile.PL blooper by Tjl - patch Perldl.pm to do 'help $a' 1.9903 (2.0 try 1) Tjl: - PDL::Lib::FFT -> PDL::FFT (Robert Schwebel) - MathGraph stuff (same) - tiny TriD tweaks for VRML::Browser - strdup -> malloc(strlen+1)+strcpy - rename 'rs' Karl: - (finally applied) pdlcore.c datatype patch Jarle: - minmax + which_two - one2nd, whichND Robin: - PGPLOT fixes Achim: - Install fixes 1.9902 Tjl: - fix pdlcore.c to work with MAGIC hashes, to enable really wild constructions to come - twiddle with flexraw.t - PP cleanup: let 'SIZE' be used in RedoDimsCode. (needs to be cleaned up from the other kind of access to this.. also need '$PDL(a)') - null = just flag, so 0-dimensions are now allowed. - allow which to take other types for mask as well... - required cleaning PP to make RedoDimsCode be parsed just like Code, except without threadloop. Seems to work nicely. (I needed to take ($a == byte 5)->which for a large byte $a and was horrified to find that my program grew to dozens of Mb) !!! Note: possible incompatibility: before a floating value 0 exit: if slatec is not built, Lib/Makefile didn't get built Robin: - fix typo in Makefile.PL - add C<> in PG.pm Jarle: - better barf message for pdl((pdl 0), (pdl 1)) Gerald: - typo in PP.pod 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) 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 1.98_00 [ was 1.98_01 originally ] 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 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 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 ? 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:: 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' 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) 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 1.95_02 [emergency bug fixing release] 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 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. 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. 1.94_06 Christian: - lots of things. Robin: - add type to PdlParObj.pm Achim (req): - Version to Core.pm Tjl: - New configuration. 1.94_05 ... Not recorded. Real threading for example. 1.94_02 Lots of changes by everyone, e.g. FFT, Browser, ... 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?? 1.94 Kgb: - Autoload patch - subclass fixes: pdl_destroy + test. - sethdr + gethdr ref counts - rfits/wfits update Christian: - where etc. - imag3d without lines Kaj Wiik: - tsimp.pl use correction Achim: - Tk patch Tjl: - Change PP.pm to really allow Pars => 'a(tri=>3)' to happen. Embarrassingly, this was a one-liner. - OpenGL libs changed to take both GL and MesaGL. - openglq.pd: use tri=3 - rout.pd ditto - TriD.pm: documentation updates & 'LINE' as context - Graph.pm: coordinate axes labels! - test7.pl: some niceties. - make the thread incs etc. into register variables. this should, with a good compiler, result in some speedup. - primitive.pd: histogram -> histogram + whistogram, more thread-friendly. - correct foo.t - TriD: add imag3d_ns (no surface) and minor twiddling. 1.93_06 Kgb: - PP: use PDLOBJ for the stub subs. - Basic.pm: sec, ins fixes - use "int" to ensure type of coords. - PG.pm fixes - IIS fixes Achim: - ws fixes for docs, pptest.t - "small perldl fixes" Tjl: - start making support for piddle-controlled (e.g. affine) transformations by using magic. - Core.xs: setdims should now work with dataflow properly. - Core.xs, pdl.h, pdlapi.h, PP.pm: add support for foofunctions and PDL::Trans objects. These are a very basic way of accessing the internals of transformations so that in the future, as the mechanism is improved, you can e.g. change your slice from outside. The current level of support is enough to make a routine that takes a slice of one dimension and is given offset and increment and n in that. - TriD: - add test8.pl to demonstrate an use of foofunctions. - document OpenGLQ and Rout - add gl_triangles_n for shaded triangles - TriD.pm: - realcoords: add more contexts - make the default routines all plot a graph - GL.pm: - add glPolygonOffset call to GL::Window in order to get good-looking imag3d always - change the colors to somewhat lighter ones. - delete_viewports -> clear_viewports (like clear_objects) - new argument to twiddle - Graph.pm: - default names for dataseries - waffle less - support changed dataseries - Image.pm: - use realcoords COLOR context - Lines.pm: - start deprecation by renaming package - Objects.pm: - realcoords support better by r_type - waffle less - SLattice_S to draw shaded lattices - tests changed somewhat. - Core.xs: remove pdl_unpackint unnecessarity - Basic.pm: make axisvals return zeroes if not enough dimensions. - Opt/Simplex/Simplex.pm: add support for temperature a la Numerical Recipes. - (Christian) - remove Data::Dumper from FastRaw. 1.93_05 Tjl: - PP: several changes, basically inline *size and *incs into register variables to speed up execution. - TriD: - add TriD/Rout for misc C routines for TriD - add a routine to do flowing combination of 3 piddles into coordinates or colours - this makes the test3.pl data_changed stuff work again. - imagrgb now defaults to a whole-window image - no reason to make it rotatable with the mouse. 1.93_04 Tjl: - TriD: add stuff for Tk - OpenGL: ConnectionNumber - ButtonPress + Release: more info back - TriD.pm: add export imagrgb - Control3D: small changes + TriD::Tk::post_menu - GL.pm: ConnectionNumber support for Tk eventloop - Graph.pm: minor changes - Image.pm: major changes, make multi-D images actually work. also, support for different multi-D background color. ***** NOTE: calling convention now same as with coordinates! this means an incompatible change. - added Tk.pm, rudimentary support for a menu of actions associated with the displayed 3D graph. Currently, can save the image. - test3.pl: change to new imagrgb calling sequence. - GoBoard.pm: ditto - test6.pl: test the Tk functionality. - testimg.pl: really test the multidimensional picture facility with an 8-D tricolor picture. - Io/Pnm/Pic.pm: use the new 'Func' convention - perldl.PL: new '-tk' option to use Tk and the Tk event loop. 1.93_03 Tjl: - TriD: - Change default controller to ArcCone - Graphs with axes! - PP: - EquivDimCheck now honoured - iis.pd: #undef Generic - OpenGL/Makefile.PL update + generate.PL tuning - Browse: manpage twiddle 1.93_02 Tjl: - Core/Basic.pm: use PDL::Core qw/:Func/; - Core/Core.xs, pdl.h, pdlapi.h: hdr stuff (untested) - Core/Core.xs: bugfix threadover_n to make_physical - Core/pdlapi.c: pdl_destroy will not destroy if an affine trans the child of which hasn't been allocated exists. - Core/pdlapi.c: pdl_changed will not try to do overeager optimization. Fixes flow.t bug - Basic/t/flow.t: enable again the tests that now work. - Gen/PP.pm: new '$a = inner($b,$c)' changes. - Slices/slices.pd: splitdim checks arguments - Basic/t/thread.t: semi-add new test - Graphics/TriD/OpenGL: new PDL::OpenGL module to enable virtualization - Graphics/TriD/OpenGLQ: a test for TriD virtualization of OpenGL, this will later on expand a lot - Graphics/TriD/TriD.pm & TriD/*: new docs, small changes. - Io/Fastraw/FastRaw.pm: don't waffle when mmapping - MANIFEST.SKIP: add more ignorable stuff KGB: - Fixed multiple 'use PDL' etc problem for loaders. - "use 5.004" 1.93_01 (Kgb) MAJOR CHANGES - these are very significant and affect code throughout the system so EXPECT problems. In particular note that this code is the new PATCHBASE. - NEW IMPORT/EXPORT system PDL_OO.pm now deleted. PDL::Exporter is DEAD and gone!! (hooray) All modules now define their functions in package PDL. The idea is a PDL::Module now looks like this: package PDL::Module; @EXPORT_OK = qw( sub1 sub2 ...); %EXPORT_TAGS = (Func=>[@EXPORT_OK]); @ISA = qw( Exporter ... ); *sub1 = \&PDL::sub1; sub PDL::sub1 { ... def ...} # If you wanted to do something special (e.g. a constructor) you can: sub rfits(PDL->rfits(@_)); # This gets exported sub PDL::rfits { my $class = shift; # etc... } i.e. the onus is entirely on the module writer. Thus saying 'use PDL::Module' will load (cheaply) PDL methods. If you want to (less cheaply) import functions say 'use PDL::Module qw/:Func/' PP has been modified to generate modules which follow this scheme. i.e. by default it stuffs its functions in to the PDL namespace, and writes stubs '*sub1 = \&PDL::sub1;' into the PM file. This can be changed at whim however. There is a new pp function - pp_bless('MyObj') which will change the default package from "PDL" to 'MyObj' in anticipation of future Object-Oriented PP modules. (Up to the author how he writes his module). Also the pp_def(PMFunc=>'...') attribute can be used to generate special purpose PM code instead of the default. Comments please, hopefully nice ones as I have spent all day changing code everywhere and debugging!!! - Karl (exhausted) - Module defaults PDL.pm now loads a set of standard packages (with :Func) - including graphics and I/O for TPJ article and v1.11 compatibility. Thus a script with 'use PDL' is v1.11 compatible (modulo bug fixes!) Lite.pm loads only the truly fundametal core, with no imports, for method speed freaks. Thus a lean script need only say 'use PDL::Lite' plus whatever else it needs. I hope various other sets of meta-modules (PDL::Astronomy, PDL::Medical) etc will follow this simple scheme. Basically there is nothing sacred about 'use PDL' anymore - it is just one of many loaders. - perldl shell The 'perldl' script sources C<~/.perldlrc> if present or falls back to C. The latter just does the standard 'use PDL' Thus by creating a C<~/.perldlrc> you are free to 'use PDL::Lite' or whatever set of modules you fancy without impinging on v1.11 compatibility. I think this is a rather elegant solution to all our aesthetic tastes (namespace polluters vs method maniacs, module hoarders vs leany meanies) while still ensuring script compatibility with v1.11. I hope everyone is happy with this! - Fixed minor bug in FlexRaw 1.92_10: 'make test' ok but see flow.t - PATCHBASE reset to zero (KGB) - new wfits() with BITPIX support and clever BSCALE/BZERO - PLEASE TEST!! - added Robin's PDL::Io::Browser - Robin's 'cutmask' function (need PP version!!!) - needs docs SOMEWHERE!! - string() no longer make_physical() - added mslice and test (slice.t) - lags patch (Jun 29) - extra tests to flow.t which FAIL, currently disabled as 'make test' then stops early. - added some tests of simple ops and functions - moved all the 2D routines (med2d etc) into PDL::Image2D - Inserted new TriD 16/Jul (untested) - tjl's 'IMPORTANT: Just let me eat my words once more today' patch - applied tjl's 'minorities' patch - ext modules now seem to work - fixed rfits/wfits bugs, added gzip/compress support via suffixes - increased size trap in pdlhash.c to 1Gb 1.92_09: - applied Tuomas' Simplex patch - applied Robin's patch: SlowRaw -> FlexRaw - added PDL::Io::Pnm and PDL::Io::Pic (+PDL::Lib::Iutil) to support image I/O based on pbmplus/netpbm (+ wmpeg based on mpeg_encode) - PDL::PP - $TBSULFD(B,S,U,L,F,D)_func now expands to B_func, S_func, etc *without* intervening whitespace - byte+ qualifier to make a pdl a "typeslave" - dispensed with Pthread.pm, thread_define now part of PDL::Core - new PDL::Dbg 1.92_08: - ops.pd debugged - FastRaw doc patches (TJL) 1.92_06/07: Applied the 41(!) missing patches. See file KGB.1.92_06_TO_1.92_07 - numerous small changes. 1.92_05/06: - Rudimentary perl level threading; see documentation in Pthread.pm. - Diagonal patch - workaround for slice and clump to *not* leave trans in a too ill-defined state when croaking (previously sometimes coredumped upon destruction (as reported by Karl), see tests in croak.t). - Karl's zeroes patch. - Matmult in primitive.pd. - history mechanism for perldl. - PDL::PP : type+ qualifiers, int, float and double now supported $GENERIC, $SIZE, fixed $P vaffine bug, [t] now does something, set named dimension from an 'OtherPars', i.e. OtherPars => 'int nsz => n' - primitive.pd : added histogram + interpol - Basic.pm : added hist - new file tests.pd in Basic/Test to hold tests for PP features - updated indexing.pod, PP.pod and FAQ.pod - Lib/Makefile.PL : only build slatec stuff if we have f2c (until we get a Makefile that works with ExtUtils::F77) - Dev.pm : change postambles so that C files built from .pd's will be cleaned 1.92_04: Lots of patches from people installed. If I forget someone's attribution, please remind me. 1.92_02: Vaffining. Just about everything should work now. New library files that don't work properly yet. 1.91_01: Perldl: don't use blib unless have to (eval). Hashes done away with: $a->{...} doesn't work. It was impossible to get both that *and* a reasonable assignment behaviour. 1.91: Bug fixen New PDL::PP The perldl shell now aborts on , q and Q.