README
======

These directories contain the Ada bindings for LAPACK, the well-known
Linear Algebra package.

The Fortran sources of LAPACK are not distributed with in this package.
For information about LAPACK, please read /doc/lapack.txt. LAPACK can be
obtained from "http://plan9.att.com/netlib/" or "http://www.netlib.org/lapack"

- Contents:

	labase.ads

	  - Defines Fortran_*_Vector and Fortran_*_Matrix types,
	    for components of type Integer, Real, Double_Precision,
            Complex, Complex_Star_16 and Logical.

	  - Extends Fortran interface (ANNEX B.5) to work with 
	    Complex_Star_16. 

	  - Defines Access_to_function types

		LFun_S_2 
    		LFun_D_2 
    		LFun_C_1 
		LFun_Z_1 

	    for use with  the xGEESx LAPACK routines.

	lacmp.ads		
	ladrv.ads
	laaux.ads
 
          The main interfaces to LAPACK routines. The names of the Ada
          routines are in one-to-one correspondence with the Fortran
          names in LAPACK.

	ladrv1.ads
	lacmp1.ads 

          An alternative interface, which uses overloading to reduce the
          name space. Routines in these package rename those in the
          previous ones, and drop the first character in the name (which
          is used in LAPACK to denote the element type of the vector or
          matrix).

	labaseio.ads
	labaseio.adb

        Simple packages to print out Fortran data types defined in
	Interface.Fortran and Labase. Incomplete but usable.


	To install, please read INSTALL.

All required packages are in subdirectory ada. Testing procedures are found in
subdirectiory test. The convert directory contain procedures used to generate
the bindings, and are of interest to developers and maintainers only. 
The pilot directory contain some small Ada  as examples of use of the
bindings. documentation in directory /doc includes information
on LAPACK version 2.0, and a report on the structure and implementation 
of lapada.


Wasu Chaopanon 
wasu@cs.nyu.edu


