CURRENT PRIORITIES
- Please include dates and PDL version numbers on entries!
# = done
-- PDL 2.4.2, 25-Jul-2006 (DJB)
Basic/Gen/PP.pm could do with a good clean out/re-factoring. On the
larger, architectural, scale it would be good to decide how to handle
some of the "families"-related code (i.e. those ideas that were never
quite implemented). There's plenty of ifdef-fed code in Basic/Core/
that could be reviewed/implemented/removed.
-- PDL 2.4.2, 25-Jul-2006 (DJB)
Post 2.4.3, need to look at the "badvalue" code to see how to improve
routines like fibonacci (i.e. those that have no input piddles). At present
the code is doing stuff it needn't. It probably won't save much execution
time, but might reduce code size/build time/...
-- PDL 2.4.2, 25-Jul-2006 (DJB)
It would be great if, post 2.4.3, we could move from using
ExtUtils::MakeMaker to Module::Build (inspired by reading
http://mungus.schwern.org/~schwern/talks/MakeMaker_Is_DOOMED/slides/slide001.html
).
At the very least we could do with an overhaul of the build processr:
1) there are a number of optional modules that have slightly-different
ways of determining whether to be built or not.
2) there's too much screen output during the 'perl Makefile.PL' phase.
This info is useful for testing/debugginh/developing but:
a) should be made optional
b) could be output at the end of the run rather than during it, to
make it easier to track down what has/has not been decided
-- PDL 2.4.1, 25-Oct-2004 (CED)
Think about subclassed PDLs and how to stop them from breaking
indexing operations. For example, PDL::Char types can't be diced
properly with dice() because the input variables seem to be promoted
to PDL::Char. (workaround: use niceslice instead). Myriad other
problems with complex numbers and quaternions.
This relates to bug #974581.
-- PDL 2.4.1, 25-Oct-2004 (CED)
Issues with pointer casting (bug 1051810) in some of the redodims
code. The "uninitialized memory read errors" mentioned in that bug
are especially troubling, and indicate some fallacious logic in the
deep guts of PP-generated code. (They're part of the generated
_redodims code; see the bug). There are other hints of trouble in PP,
notably the need in some of the trans code to inspect the PDL
"signature" at the beginning of a block of memory to see if it has been
initialized already. Such signatures of course become more common in
random bits of memory as a process runs. That stuff needs looking into.
===============
Older stuff (probably still needs work)
- add GLOBALLIBS modifier to perldl.conf and
PDLWriteMakefile routine to Dev.pm that will
honour it. Then change WriteMakfile calls in
all Makefile>PLs in the dist into PDLWriteMakefile
- better docs -> doc roadmap
'sever' additional docs
- fix some of the inaccuracies in PDL::Internals
- PDL::Doc : learn to cope with duplicate function names (e.g.
PDL::min and PDL::GSL::RNG::min)
install scanpdldocs script to make it easier to
add user docs to the online docs database
postamble code: standard postamble for docscanning
of user modules (to be used in Makefile.PL)
# - perldl docs on builtin niceslicing
# - nslice docs
# - more Inline::Pdlpp docs
- AutoLoader import hash => can wait
- Overarching graphics object -- would be nice to have high level
functionality in PLPLOT.
lower priorities
- get rid of 'swap' parameter when calling bifuncs explicitly
- overhaul core interfaces, move drepecated interfaces into own module
# - improve OpenGL detection ## seems more or less done (trylink)
# sort out interface to different interpolation codes (PDL::Func
and the old PDL::Interpolate/PDL::Interpolate::Slatec modules which are
included in the distribution but are not installed)
- make more routines 'bad value' aware
- tests for new features of at, set, getdim
# - tests for PDL::Matrix
# implement the new NiceSlice ideas (trailing modifiers, '/' diag,
'<-> xchg', etc)
# PDL::PP::Inline !!!
OLDER STUFF (still valid?):
perlDL TODO list
================
'This world, where much is to be done and little to be known.'
- Samuel Johnson. Prayers and Meditations. Against inquisitive
and perplexing Thoughts.
Karl Glazebrook, AAO, 2/Oct/1996. [kgb@aaoepp.aao.gov.au]
-- update the TODO list
SuperHyperCritical:
----
# * foo(zeroes(float,3))) and foo is defined only for byte doesn't work.
??? Doesn't it?o
* Dependencies on pdl.h everywhere
Reorganize Demos/TriD.
* Transcendential functions should always return at least floats
Missing Features:
-----------------
- [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.
* PDL::IO::Pic should barf when converter not available
"#" = should work now.
# **** Quick: SV * must be allowed for OtherPars.
Building:
--------
TidBits
----
* clean Dev.pm (perl is clever enough to know if it's in the build tree
or outside)
Tidbits
----
* PThread: if multithreading is turned on on a pdl after it has
been incorporated into a transformation, there will probably
be trouble worth of a coredump at some point. Watch out.
* PP: fix phys pointers!!
* PP: OtherTypes
* PP: Input pars => dims (generalize "where")
* clean .pd -> .c files
* ->setdims followed by ->set_datatype crashes
* PDL::Trans objects, getting parents, etc.
* Perl-level threading, use subs with indices etc.
Critical
----
* document ->thread & no null. Document limitations and undefined
things about the trans system.
* Make PDL::PP and other documentation up to date.
* DProf doesn't work with pdl for some reason.. check.
Reorganization
------
* Remove the 'pdl' prefix from PDL/Core/*.c
System
------
* local $epsilon used for
* Dataflow + persistence
* ***************** COMPLEX NUMBERS ******************
* Improve pdl_whichdatatype and PDL::PP so we don't need to do
stupid interconversions.
* Clean up pdl_converttype and SvPDLV: we could do with a lot less
pdl_mallocs.
IO
---
* DSA writer/header handling
Functions
----------
* sort ($x,$y,$z...) - 1D only
-along some dimensions, by some rules.
* Grow list -> (N+1) Dim
* Matrix inverse (via following:)
* linear system solver
* Interpolation - 2D and 3D
Graphics
--------
* Improve 3D
* Nd plots
FFT
--------
* Fix FFT test number 2.(Commented out for now) Robin Williams notes:
...this appears to be an
oddity with PP's promotion of byte data for GenericTypes => [F,D]
routines.