I here list the most important switches to the compilation command for the Cray CF 90 2.0 Programming Environment.
-c compilation only (no linking) -C creates an information file -d disables compiling options -e enables compiling options -f fixed the old form of the source code -f free the new form of the source code -g generates information for debugging -G more general debugging -i decides on integer length -I incldir Fortran 90 looks automatically for files to INCLUDE in the present directory, in directories in the I-list and in /usr/local/lib/f90 -l linking of a library -Ldir Add dir to the list of directories for library routines -m specifies the level for error messages -M used to suppress error messages -N specifies 72 or 80 colums for the fixed form source code For free source code 132 is always valid -o naming the output file -O optimization level -p pathname Fortran 90 looks automatically for modules in the present directory, in directories in the I-list and in /usr/local/lib/f90 -r produces a compilation list -S produces source code in assembler -v give comment about how the compilation is proceeding -V gives the compiler's version number -Wl sens information to the linker segldrIt can be mentioned here that Cray CF90 permits the use of REAL*8 instead of REAL and REAL*16 instead of DOUBLE PRECISION . The use of these notations should be avoided.
Remark. Our tests indicate that half is not implemented completely on the Cray Y-MP, in reality you get variables of the usual precision (called single below). Information from Cray Research indicate that half is introduced in order to obtain a certain compatibility with Cray T3D, on which system that precision (half) really exists.
WARNING: I will have to double check this table at each revision of the compiler! The parameters are being changed by Cray. The present system is Cray F90 Version 1.0 (1.56 or 1.70), CRAY CF 90 Version 1.0.1.0 (779005) or 1.0.2.0 (047431). The parameters below are also valid for Cray CF90 Version 2.0.0.0.
See also the numerical inquiry functons in Appendix 5.8.
In Cray CF90 Version 3.0.1.0 the default for integers has changed from KIND = 6 to KIND = 8, and the KIND = 6 with int46 has been completely removed.
LOGICAL Default
KIND number = 8
INTEGER (Default) int7 int15
KIND number = (6) 1 2
digits = 46 7 15
radix = 2 2 2
range = 13 2 4
huge = 70368744177663 127 32767
bit_size = 46 8 16
INTEGER int31 (int46) int64
KIND number = 4 (6) 8
digits = 31 46 63
radix = 2 2 2
range = 9 13 18
huge = 2147483647 70368744177663 9223372036854775807
bit_size = 32 46 64
REAL half Default,single double
KIND number = 4 8 16
digits = 24 47 96
maxexponent = 8189 8189 8190
minexponent = -8188 -8188 -8189
precision = 6 13 28
radix = 2 2 2
range = 2465 2465 2465
epsilon = 0.11920929E-06 0.14210855-13 0.25243549E-28
tiny = 0.73344155-2465 0.73344155-2465 0.73344155-2465
huge = 0.13634352+2466 0.13634352+2466 0.13634352+2466
COMPLEX half Default,single double
KIND number = 4 8 16
precision = 6 13 28
range = 2465 2465 2465
INTEGER default
KIND number = 8
digits = 63
radix = 2
range = 18
huge = 9223372036854775807
bit_size = 64
INTEGER int15 int31 int63
KIND number = 2 4 8
digits = 15 31 63
radix = 2 2 2
range = 4 9 18
huge = 32767 2147483647 9223372036854775807
bit_size = 16 32 64
LOGICAL Default byte halfword
KIND number = 8 1 2
LOGICAL Default word double
KIND number = 8 4 8
REAL single double default
KIND number = 4 8 8
digits = 24 53 53
maxexponent = 128 1024 1024
minexponent = -125 -1021 -1021
precision = 6 15 15
radix = 2 2 2
range = 37 307 307
epsilon = 0.11920929E-06 0.22204460E-15 0.22204460E-15
tiny = 0.11754944E-37 0.22250739-307 0.22250739-307
huge = 0.34028235E+39 0.17976931+309 0.17976931+309
COMPLEX single double
KIND number = 4 8
precision = 6 15
range = 37 307