This manual contains the complete description of the DIGITAL Fortran programming language, which includes Fortran 90, High Performance Fortran, and many Fortran 95 language features. It contains information on language syntax and semantics, on adherence to various Fortran standards, and on extensions to those standards.
This manual applies to the following:
For details on the features of the compilers and how to improve the run-time performance of Fortran programs, see your user manual or programmer's guide.
For more information on the DIGITAL Fortran products, see http://www.digital.com/fortran.
This manual is intended for experienced applications programmers who have a basic understanding of Fortran concepts and the Fortran 90 language, and are using DIGITAL Fortran in either a single-platform or multiplatform environment.
Some familiarity with parallel programming concepts and your operating system is helpful. This manual is not a Fortran or programming tutorial.
This manual consists of the following chapters and appendixes:
3hpf HPF_LIBRARY routines available
for DIGITAL UNIX systems.
The following documents contain information directly related to the topics in this manual:
These manuals provide information about DIGITAL Fortran program development and the run- time environment. They describe compiling, linking, running, and debugging DIGITAL Fortran programs, run-time error-handling and I/O, performance guidelines, data types, numeric data conversion, calling other procedures and library routines, and compatibility with DIGITAL Fortran 77.
This guide provides information on how to install DIGITAL Fortran on your operating system.
These sets provide detailed information about components and features of your operating system, such as commands, tools, libraries, and other aspects of the programming environment.
The DIGITAL Parallel Software Environment product supports the parallel execution of Fortran 90 programs using High Performance Fortran constructs.
For information on the DIGITAL Parallel Software Environment product, see the DIGITAL Parallel Software Environment document kit, QA-2ATAA-GZ.1.n. This kit includes the DIGITAL High Performance Fortran 90 HPF and PSE Manual and the High Performance Fortran Handbook (also available from MIT Press).
The DIGITAL High Performance Fortran 90 HPF and PSE Manual explains both the Parallel Software Environment (PSE) and the High Performance Fortran (HPF) programming language. It describes the installation, set up, administration, and general use of the PSE software, as well as hardware configuration for a parallel Alpha Farm. It also contains a tutorial describing how to write programs using the HPF extensions to Fortran 90 and describes how to run, debug, and profile HPF programs in the PSE.
The following copyrighted standard and specification documents contain precise descriptions of many of the features found in DIGITAL Fortran:
This Standard is equivalent to: International Standards Organization Programming Language Fortran, ISO/IEC 1539:1991 (E).
This Standard is equivalent to: International Standards Organization Programming Language Fortran, ISO/IEC 1539- 1:1996.
This section alphabetically lists some commercially published documents that provide reference or tutorial information on Fortran 90, Fortran 95, and High Performance Fortran:
DIGITAL does not endorse these books or recommend them over other books on the same subjects.
A platform is a combination of operating system and central processing unit (CPU) that provides a distinct environment in which to use a product (in this case, a language). This manual contains information for the following language platforms:
| Platform | ||
|---|---|---|
| Language | Operating System | CPU |
| DIGITAL Fortran | OpenVMS | Alpha |
| DIGITAL UNIX[1] | Alpha | |
| Microsoft Windows NT | Alpha | |
| Microsoft Windows NT | Intel | |
| Windows 95 | Intel | |
|
[1] Starting with Version 3.4, the DEC OSF/1 operating system is called the DIGITAL UNIX operating system. | ||
Information in this manual applies to all supported platforms unless it is otherwise labeled for a specific platform, as follows:
| VMS | Applies to OpenVMS on Alpha processors |
| U*X | Applies to DIGITAL UNIX on Alpha processors |
| Alpha | Applies to OpenVMS, DIGITAL UNIX, and Microsoft Windows NT on Alpha processors |
| WNT | Applies to Microsoft Windows NT on Alpha and Intel processors. |
| W95 | Applies to Windows 95 on Intel processors |
| x86 | Applies to Windows NT and Windows 95 on Intel processors |
For example, the ALIGN directive (Section 14.2.2.2) is labeled "(U*X only)", so this directive is only valid for DIGITAL UNIX operating systems on Alpha processors.
DIGITAL welcomes your comments on this or any other DIGITAL Fortran manual. You can send comments to us in the following ways:
fortran_
docs@zko.mts.dec.com
603-881-0120 Attn: Languages Documentation,
ZKO2-3/K35
Digital Equipment Corporation Languages Documentation, ZKO2-3/K35 110 Spit Brook Road Nashua, NH 03062-2698 USA
If you have suggestions for improving particular sections or find any errors, please indicate the title, order number, and section numbers. DIGITAL also welcomes general comments.
If you have a customer support contract and have comments or questions about DIGITAL Fortran software, you can contact DIGITAL's Customer Support Center (CSC), preferably using electronic means such as DSNlink. In the United States, customers can call the CSC at 1-800-354-9000.
Table 1 describes the conventions used in this manual.
| Convention | Meaning |
|---|---|
{ }
|
Large braces enclose lists from which
you must choose one item. For example:
{ STATUS }
{ DISPOSE }
{ DISP }
|
. . . |
In code examples, a horizontal ellipsis means that not all of
the statements are shown. In syntax forms, the symbol means that the
item preceding the ellipsis can be repeated. For example:
s[,s] . . . |
| [ ] | Square brackets
enclose items that are optional in statements; for example:
BLOCK DATA [nam] In examples, square brackets are used to show arrays. |
. . . |
A vertical ellipsis in a figure means that not all of the statements are shown. |
| INTRINSIC D_LINES | Uppercase letters indicate statement keywords, and OpenVMS compiler options. |
monospaced | This typeface indicates a compiler option, DIGITAL UNIX command, or pathname, and is also used in examples of source code. |
| compiler option | This term refers to OpenVMS qualifiers, DIGITAL UNIX flags, and Windows NT and Windows 95 command line options that can be used on the compiler command line. |
cat(1) |
Cross-references to online reference pages include the
appropriate section number in parentheses. For example, a
reference to cat(1) indicates that you can find
the material on the cat command in Section 1 of
the reference pages. To read online reference pages, use the
man command. Your operating system documentation
also includes reference page descriptions. |
| extensions | Dark teal type indicates extensions to the Fortran 90 Standard. These extensions may or may not be implemented by other compilers that conform to the language standard. |
| Fortran | This term refers to language information that is common to ANSI FORTRAN 77, ANSI/ISO Fortran 90, and DIGITAL Fortran. |
| Fortran 90 | This term refers to language information that is common to ANSI/ISO Fortran 90 and DIGITAL Fortran. |
| Fortran 95 | This term refers to language information that is common to ANSI/ISO Fortran 95 and DIGITAL Fortran. |
| DIGITAL Parallel Software Environment | This term refers to an optional license and software that allows parallel execution of programs. Without this option, programs can only execute on a single processor, either as a scalar (non-parallel) program or as a (special case) single processor parallel program. |
| integer | This term refers to the INTEGER(KIND=1), INTEGER(KIND=2), INTEGER (INTEGER(KIND=4)), and INTEGER(KIND=8) data types as a group. |
| real | This term refers to the REAL (REAL(KIND=4)), DOUBLE PRECISION (REAL(KIND=8)), and REAL(KIND=16) data types as a group. |
| REAL | This term refers to the default data type of objects declared to be REAL. REAL is equivalent to REAL(KIND=4), unless a compiler option specifies otherwise. |
| complex | This term refers to the COMPLEX (COMPLEX(KIND=4)) and DOUBLE COMPLEX (COMPLEX(KIND=8)) data types as a group. |
| logical | This term refers to the LOGICAL(KIND=1), LOGICAL(KIND=2), LOGICAL (LOGICAL(KIND=4)), and LOGICAL(KIND=8) data types as a group. |
| conformable | Bold type is used to introduce a new term. Many of these terms are defined in the glossary of this manual. |
| OpenVMS, VMS | These terms refer to the same operating system. |
| DIGITAL UNIX, DEC OSF/1 | These terms refer to the same operating system. |
| (VMS only) | Italicized type is used in platform labels and to emphasize text. (For more information, see Platform Labels in this Preface.) |
| <Tab> | This symbol indicates a nonprinting tab character. |