
Last update by Alain on 30 July 2009
Updated by Alain on 28 March 2008

This file contains:

-- a ToDo list of missing commands
-- a ToDo list related to system variables
-- a ToDo list of missing Functions and Procedures
-- a ToDo list of incomplete Functions and Procedures, missing keywords and
    limited/buggy functionnalities in existing func/pro
-- some comments
-- a DONE list containing info for future troubles/needs

ToDo list of missing commands (not exhaustive, most requested)

.rnew
.skip
.reset_session


ToDo list related to system variables


!ERROR, !ERR and !ERROR_STATE are not properly set by all library
  functions

!EDIT_INPUT, preferences IDL_EDIT_INPUT, IDL_RBUF_PERSIST and IDL_RBUF_SIZE.


ToDo list of Functions and Procedures


* WMENU function
Category: user interface
Langage: GDL, later may be in C++ with widgets !
Difficulty: easy
Contact: Alain
Comments: undocumented feature coming from the old IDL versions
(before 4.0). A draft exists, substiting the X11 interface by
a console one.


ToDo list of incomplete Function/Procedure, missing keywords ...


* ON_ERROR and CATCH procedures
Category: system
Langage: C++
Difficulty: unknow
Contact: Marc
Comments: ON_ERROR and CATCH are not fully implemented (GDL recognizes them,
but does not perform any action, ie. in case of error, the data is not used).

* HELP
Category: system
Langage: C++
Difficulty: unknow
Contact:
Comments: some useful keywords are not handle

* PLOT, OPLOT, PLOTS, CONTOUR, SURFACE, AXIS, XYOUTS
Category: display
Langage: C++
Difficulty: parts are obvious, other may be impossible with plplot lib!
Contact: Alain
Comments: some useful keywords are not handle

* USERSYM
Category: display
Langage: C++ (linked to plplot library
Difficulty: may be impossible with plplot lib!
Contact: Joel or Alain
Comments: 

* TVRD : keyword !order
Category: display
Langage: C++ (in devicex.hpp)
Difficulty: unknow.
Contact: Alain
Comments: to be complete for !order keyword (managed in TV).
A priori, the method p->Rotate(7) cannot be used on Byte arrays.

* LA_ serie (based on the LAPACK routines)
Category: numeric
Langage: a priori C++
Difficulty: some existing algo, not under GPL ??
Contact: 
Comments: different personns have asked ...
It is better to implement it in C/C++ because it is computer intensif


Comments; About recently added Pro/Functions

I move here some important procedures and functions which have been
recently added; because they are important, they need to extensively tested.

* MEDIAN: implementation of parameter "width" was done in summer 2008
Category: numeric
Langage: C++
Difficulty: very difficult
Contact: Alain
Comments: codes in C/C++ in public domain or under GPL available,
"interfaces" missing. Please make biblio before writing it, it
is not obvious. Availability/efficienty of algo depend on data type !!
It is better to implement it in C/C++ because it is computer intensif.
--> Not sure all the cases have been tested. Please report tests and problems.

* SPLINE serie (SPL_INIT, SPL_INTERP)
Category: numeric
Langage: C++ 
Difficulty: existing algo in NR, not under GPL.
Contact: Alain
Comments: A working version in GDL syntax has been put in CVS under src/pro
It is better to implement it in C/C++ because it is computer intensif.

* INVERT function : some exceptions
Category: numeric
Langage: C++ (in gsl_fun.cpp)
Difficulty: easy.
Contact: Alain
Comments: the last exceptions shjould have been cleaned (input size,
no-square matrix, string conversion should work).
Very easy but could be time consuming if extensive tests.
See currents tests in testsuite/test_invert_matrix.pro

DONE and revisited

* BESELI/BESELJ/BESELK
Category: numeric
Langage: C++ (in math_fun_ac.cpp)
Difficulty: unknow.
Contact: Alain
Comments: 1/ some details need to be fix when the arrays
are not commensurable. It is highly probable that other
functions do suffer from the same problems. Some have been
corrected (the GAMMA/BETA family) and can be used as template.
2/ since mid-2008 (?) GSL does include non integer Besel functions ...

The Besel family has been revisted during summer 2009.
Non integer orders have been added. Boundaries tests should be OK.
Clean processing of input arrays dimensionning was take into account,
with consequence on other functions like VOIGT, BETA ...
(see examples in testsuite/test_MathFunctionsDim.pro and also bugs in IDL)
