Add C and F77 interface routines

We do this step last, because we don't want to add API routines until the code is working. Having debugged and made sure the code is faster than LAPACK, we're now ready to make it available to the user via the advertised APIs. The extracted API files are kept in subdirectories under ATLAS/interfaces/lapack.

The F77 interfaces are kept in AtlasBase/Clint/atlas-fint.base. Look at the existing examples and notice how extract generates all four precision from the same routine, if you use the extract macros. All the code for this interface can be ripped from LAPACK and adapted. Note that you will usually need to examine both complex and real versions of the original LAPACK routine, to find any differences in interface/testing and comments. You will also need to remove unneeded EXTERNAL declaration, etc.

This interface does the parameter checking, and converts any FORTRAN string arguments to some predefined integer values, and then call the ATLf77wrap interface. Scope any of the existing routines for details on this.

The C interfaces are easy to write, since they should just check the input arguments, and then call the ATLAS routine. The codes are stored in atlas-clp.base. Check it out for lots of examples.

Clint Whaley 2012-07-10