next up previous contents index
Next: How to call an Up: Documentation Design and Program Previous: Matrix Storage Schemes   Contents   Index


Design of Interfaces for Computational Routines

LAPACK95 provides interfaces to all LAPACK computational routines. (See Part III). These interfaces are generic with respect to precision (single or double) and data type (real or complex). In contrast to the driver interfaces, however, they must employ the same argument list as the corresponding LAPACK routines. Thus assumed-shape arrays, automatic allocation of work arrays, and optional arguments are not features of the interfaces to computational routines. For example, the LAPACK95 interface

CALL LA_GEQRF( M, N, A, LDA, TAU, WORK, LWORK, INFO )
corresponds to the four LAPACK computational routines
CALL SGEQRF( M, N, A, LDA, TAU, WORK, LWORK, INFO )
CALL DGEQRF( M, N, A, LDA, TAU, WORK, LWORK, INFO )
CALL CGEQRF( M, N, A, LDA, TAU, WORK, LWORK, INFO )
CALL ZGEQRF( M, N, A, LDA, TAU, WORK, LWORK, INFO )
There are two advantages to using the LAPACK95 interfaces to LAPACK computational routines rather than calling the latter directly:
  1. The generic property can be exploited.
  2. The argument correctness of the calling program is checked by the interface.


next up previous contents index
Next: How to call an Up: Documentation Design and Program Previous: Matrix Storage Schemes   Contents   Index
Susan Blackford 2001-08-19