*-text-*-
RCS: $Id: TODO,v 1.20 1998/12/16 21:12:46 jungman Exp $


----------------------------------------------------------------------

The following should be finished before a 1.0 level release.

* Implement the conicalP_sph_reg() functions.
  DONE: Fri Nov  6 23:33:53 MST 1998 [GJ]

* Irregular (Q) Legendre functions, at least
  the integer order ones. More general cases
  can probably wait.
  DONE: Sat Nov  7 15:47:35 MST 1998 [GJ]

* Make hyperg_1F1() work right.

* Clean-up Coulomb wave functions. This does not
  mean completing a fully controlled low-energy
  evaluation, which is a larger project.

* Clean-up the Fermi-Dirac code. The full Fermi-Dirac
  functions can probably wait until a later release,
  but we should have at least the common j = integer and
  j = 1/2-integer cases for the 1.0 release. These
  are not too hard.
  DONE: Sat Nov  7 19:46:27 MST 1998 [GJ]

* Go over the tests and make sure nothing is left out.

* Sanitize all the error-checking, error-estimation,
  algorithm tuning, etc.

* Fill out our scorecard, working from Lozier's
  "Software Needs in Special Functions" paper.

* Final Seal of Approval
  This section has itself gone through several
  revisions (sigh), proving that the notion of
  done-ness is ill-defined. So it is worth
  stating the criteria for done-ness explicitly:
  o interfaces stabilized
  o error-estimation in place
  o all deprecated constructs removed
  o passes tests


  - airy.c
    OK: 

  - airy_der.c
    OK: 

  - atanint.c
    OK: 

  - bessel.c
    OK:

  - bessel_I0.c
    OK: 

  - bessel_I1.c
    OK: 

  - bessel_In.c
    OK:

  - bessel_Inu.c
    OK:

  - bessel_J0.c
    OK: 
    
  - bessel_J1.c
    OK: 
    
  - bessel_Jn.c
    OK:

  - bessel_Jnu.c
    OK:

  - bessel_K0.c
    OK: 

  - bessel_K1.c
    OK: 

  - bessel_Kn.c
    OK: 

  - bessel_Knu.c
    OK:

  - bessel_Y0.c
    OK: 
    
  - bessel_Y1.c
    OK: 
    
  - bessel_Yn.c
    OK:

  - bessel_Ynu.c
    OK:

  - bessel_amp_phase.c
    OK:

  - bessel_i.c
    OK:

  - bessel_j.c
    OK:

  - bessel_k.c
    OK: 

  - bessel_olver.c
    OK:

  - bessel_temme.c
    OK:

  - bessel_y.c
    OK:

  - beta.c
    OK: 

  - chebyshev.c
    OK:

  - clausen.c
    OK: 

  - coulomb.c
    OK:

  - coulomb_bound.c
    OK:

  - coupling.c
    OK:

  - dawson.c
    OK: 

  - debye.c
    OK: 

  - dilog.c
    OK: 

  - elementary.c
    OK: 

  - ellint.c
    OK: 

  - elljac.c
    OK: 

  - erfc.c
    OK: 

  - exp.c
    OK:

  - expint.c
    OK: 

  - expint3.c
    OK: 

  - fermi_dirac.c
    OK:

  - gamma.c
    OK:

  - gamma_inc.c
    OK:

  - gegenbauer.c
    OK:

  - hyperg.c
    OK:

  - hyperg_0F1.c
    OK:

  - hyperg_1F1.c

  - hyperg_2F0.c
    OK:

  - hyperg_2F1.c
    OK:

  - hyperg_U.c
    OK:

  - laguerre.c
    OK:

  - legendre_H3d.c
    OK:

  - legendre_Qn.c
    OK:

  - legendre_con.c
    OK:

  - legendre_poly.c
    OK:

  - log.c
    OK: 

  - poch.c
    OK:

  - poly.c
    OK:

  - pow_int.c
    OK: 

  - psi.c
    OK:

  - shint.c
    OK: 

  - sinint.c
    OK: 

  - synchrotron.c
    OK: 

  - transport.c
    OK: 

  - trig.c
    OK:

  - zeta.c
    OK:



----------------------------------------------------------------------

The following are important but probably will
not see completion before a 1.0 level release.

* Incomplete Fermi-Dirac functions.
  Other Fermi-Dirac functions, including the
  generic 1/2-integer case, which was not done.

* Implement the low-energy regime for the Coulomb
  wave functions. This is fairly well understood in
  the recent literature but will require some
  detailed work. Specifically this means creating
  a drop-in replacement for coulomb_jwkb() which
  is controlled and extensible.

* General Legendre functions (at least on the cut).
  This subsumes the toroidal functions, so we need not
  consider those separately. SLATEC code exists (originally
  due to Olver+Smith).

* Characterize the algorithms. A significant fraction of
  the code is home-grown and it should be reviewed by
  other parties.


----------------------------------------------------------------------

The following are extra features which need not
be implemented for a version 1.0 release.

* Spheroidal wave functions.

* Mathieu functions.

* Weierstrass elliptic functions.

