CURRENT PRIORITIES:
CURRENT PRIORITIES:

# = done

# - perldl docs on builtin niceslicing
# - nslice docs
# - more Inline::Pdlpp docs
- AutoLoader import hash => can wait


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?):

Change?: tridgallery depends on m51.fits

                 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.