All ScaLAPACK codes should be written in standard Fortran 77.
EXCEPTIONS:
Names of routines and variables may exceed 6 characters
Can use double precision complex
COMMON MISTAKES:
No END DO in standard F77
No DO WHILE in standard F77
No INCLUDE in standard F77
IMPLICIT NONE not standard F77.
No characters, even in comments, past column 72
Routine names will be prefixed by P-, followed by the corresponding
LAPACK routine name. For example, PDGETRF is the ScaLapack version
of the LAPACK routine DGETRF for LU factorization.
If there is not a corresponding LAPACK routine equivalence, the
routine should be prefixed by PDLA-.
NO COMMON BLOCKS!
All routines MUST have a PURPOSE and ARGUMENTS section.
All EXTERNAL subroutines should be declared in the header.
Coding style should follow LAPACK style (produced from NAGWare F77 tools).
Standard 3 space indentation.
* is used to denote comment lines. All blank lines should
be marked with a * in column 1.
As a general rule, no I/O in subroutines! Restricted to the
PxyyINFO and PXERBLA routines.
Order of arguments in calling sequence:
INFO argument (if used) MUST be the last parameter in the
calling sequence.
All workspace-related parameters should occur at the end of
of the calling sequence, followed by INFO (if applicable).
The only RETURN statements allowed in subroutines are for
input-argument checking after the call to XERBLA, quick returns,
and at the end of the subroutine.