next up previous contents index
Next: C Up: Machine Dependence Previous: Machine Dependence

FORTRAN

While some machine-specific routines have been retained, the present FORTRAN version of the library has been made as  FORTRAN-77 compatible as practical. Where the code is not FORTRAN-77 compatible, it is so noted in the source code. Most exceptions were made for efficiency's sake and can be easily be modified or be left out of the final library.

The largest FORTRAN-77 incompatibilities occur in the Ramtek packages which can be left out of the library (see notes below). Note that some routine and common block names exceed the 6 character standard of FORTRAN-77. The auxilary, MASTER, and 3d plotting routines are FORTRAN-77 compatible with a few minor exceptions (e.g.  INTEGER*2 is used to save space) These exceptions are noted in the source code file headers. Source code contains tabs (control-I) and trailing comments (separated by exclamation points (!). The program  NOTABS (which is FORTRAN-77 compatible when a line is commented out) is designed to remove tabs and trailing comments.

Routines in  RAMLIB  REFLIB and  CURSORLIB are very machine specific and may require extensive modification for use on other machines. A file NORAMLIB.FOR replaces all RAMLIB subroutines to produce a no-Ramtek version of the library.

Unless specificially stated, integers are all assumed to be the standard default machine length. On the  VAX this is INTEGER*4. A 2's complement representation is assumed for negative integers when specifying the line type bit pattern (various routines and programs) and in storing the pen motion data in the routines SYMBOL, SYM3D, and SYM3DH. The  cursor routines CURMOTION, CURRECT, CURBAND use the machine dependent routine  INXTCHR to read escape sequences from the terminal. Note, however, that the library can be used without these cursor routines.    

The  VAX extended  FORTRAN data type "BYTE" (for an 8 bit variable) is used in the REF and Ramtek library package.    

 VAX routines %LOC() and %VAL() are used in  MVAX5D and  VAX5D to determine the address of an array. These routines may be modified or deleted as desired.



next up previous contents index
Next: C Up: Machine Dependence Previous: Machine Dependence



David Long
Wed Jun 12 10:34:11 MDT 1996