next up previous contents
Next: Machine constants Up: The STUTTGART TB-LMTO-ASA program. Previous: The preprocessor

Machine Dependencies


The LMTO programs have been written with portability in mind, and some effort was made to keep within ANSI-77 standards. If you do find any compilation errors in the code as it stands, please report them, so that the code can be made as portable as possible. There is some system dependence lying outside the purview of ANSI. File handling is very operating-system dependent, and LMTO files have been kept as simple as possible to make the code as portable as possible. All files are opened in function fopna in directory IOLIB, so whatever machine dependence there is should be confined to that subroutine. Also, different machines have differing internal representations of their numbers. In some places this is important, such as the function derfc. There is a collection of three functions in the math library, {r1mach, d1mach) and i1mach that hold machine-specific information. These must be set to the appropriate machine before compilation. Besides the four routines, fopna, i1mach, r1mach and d1mach, a few occasional machine-dependencies are found. Perhaps the most important exception occurs in routine cnvt in the IOLIB directory. There data read from the control file is converted from ASCII representation to the binary representation, using the FORTRAN internal read facility. This read differs on different machines. The unformatted read should be used if possible; if not an alternate formatted read is supplied. This should be checked when installing this routine on a new compiler. Routine finits (also in IOLIB) does some machine-dependent initialization.

O. Jepsen
Thu Oct 12 14:48:45 MESZ 2000