[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::fortran

Title:Digital Fortran
Notice:Read notes 1.* for important information
Moderator:QUARK::LIONEL
Created:Thu Jun 01 1995
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1333
Total number of notes:6734

3.0. "Software Product Descriptions" by QUARK::LIONEL (Free advice is worth every cent) Thu Jun 01 1995 14:14

T.RTitleUserPersonal
Name
DateLines
3.1SPD 37.54.06, DEC Fortran V3.8 for Digital UNIX SystemsTLE::ETZELMikeThu Jun 15 1995 12:17463
3.2SPD 46.41.04, DEC Fortran 90 V2.0 for Digital UNIX SystemsTLE::ETZELMikeThu Jun 15 1995 12:18514
3.3 SPD 25.16.47, DEC Fortran V6.3 for OpenVMS (Alpha and VAX) Sys.TLE::ETZELMikeThu Jun 15 1995 12:191069
3.4SPD 63.37.01, DEC Fortran 90 V2.0 for OpenVMS Alpha SystemsTLE::ETZELMikeThu Jun 15 1995 12:19561
3.5Tech Overview: DEC Fortran for Windows NT Alpha SystemsTLE::WHITLOCKStan WhitlockFri Aug 11 1995 09:309
3.1SPD 37.54.08: DF v4.1 for DUNIX ALpha - f90 and f77TLE::WHITLOCKStan WhitlockSun Apr 20 1997 12:49849
                                    DIGITAL

      Software
      Product
      Description

      ___________________________________________________________________

      PRODUCT NAME: Digital Fortran Version 4.1 for Digital UNIX Alpha Sys-
      tems
      SPD 37.54.08

      DESCRIPTION

      This is the Software Product Description (SPD) for Digital Fortran Ver-
      sion 4.1 for Digital UNIX[R] (formerly DEC OSF/1[TM]). Digital For-
      tran contains both the Digital Fortran 90 Version 4.1 software and the
      Digital Fortran 77 Version 4.1 software. The following description refers
      to Digital Fortran unless a specific reference to the 90 or 77 prod-
      uct is needed to distinguish between the two software products.

      Digital Fortran is an implementation of the FORTRAN programming lan-
      guage that supports the FORTRAN 66, FORTRAN 77 and Fortran 90 stan-
      dards. Digital Fortran 77 fully supports the following standards:

      o  FORTRAN 66 (ANSI X3.9-1966)

      o  FORTRAN 77 (ANSI X3.9-1978)

      o  ISO 1539-1980(E)

      o  MIL-STD-1753

      o  FIPS-69-1 (Digital Fortran meets the requirements of this standard
         by conforming to the ANSI Standard and by including a flagger. The
         flagger optionally produces diagnostic messages for compile-time
         elements that do not conform to the Full-Level ANSI FORTRAN X3.198-
         1992 Standard.)

      Digital Fortran 90 supports all of the standards that Digital Fortran
      77 supports plus the following new standards:

      o  FORTRAN 90 (ANSI X3.198-1992)

                                                            December 1996

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


      o  ISO 1539-1991(E)

      Digital Fortran 90 supports most statement, library, and directive ex-
      tensions from the HPF-2 draft specification (High Performance FORTRAN
      Language Specification, Version 2.0.delta, October 19, 1996) and sup-
      ports statement, library, and directive extensions from the HPF spec-
      ification (CRPC-TR92225, Center for Research on Parallel Computation,
      Rice University, 1993).

      Digital Fortran supports extensions to the ISO and ANSI standards, in-
      cluding a number of extensions defined by Digital Fortran for the var-
      ious Digital Fortran platforms (operating system/architecture pairs).
      In addition to Digital UNIX Alpha systems, Digital Fortran platforms
      include:

      o  Digital Fortran 77 on Windows NT[TM] Alpha systems

      o  Digital Fortran 90 and Digital Fortran 77 on OpenVMS[TM] Alpha sys-
         tems

      o  Digital Fortran 77 on OpenVMS VAX[TM] systems

      Major additions to the FORTRAN 77 standard introduced by the FORTRAN
      90 standard include:

      o  Array operations

      o  Improved facilities for numeric computation

      o  Parameterized intrinsic data types

      o  User-defined data types

      o  Facilities for modular data and procedure definitions

      o  Pointers

      o  The concept of language evolution

      Digital Fortran includes the following features and enhancements in
      both Digital Fortran 90 and Digital Fortran 77:

      o  Support for linking against static and shared libraries

                                       2

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


      o  Support for creating sharable code to be put into a shared library

      o  Support for stack-based storage

      o  Support for dynamic memory allocation

      o  Support for reading and writing binary data files in nonnative for-
         mats, including IEEE[R] (little-endian and big-endian), VAX[TM],
         IBM[R] System\360, and CRAY[R] integer and floating point formats

      o  User control over IEEE floating point exception handling, report-
         ing, and resulting values.

      o  Control for memory boundary alignment of items in COMMON and fields
         in structures and warnings for misaligned data

      o  Directives to control listing page titles and subtitles, object file
         identification field, COMMON and record field alignment, and some
         attributes of COMMON blocks

      o  Composite data declarations using STRUCTURE, END STRUCTURE, and RECORD
         statements, and access to record components through field refer-
         ences

      o  Explicit specification of storage allocation units for data types
         such as:

            INTEGER*4
            LOGICAL*4
            REAL*4
            REAL*8
            COMPLEX*8

      o  Support for 64-bit signed integers using INTEGER*8 and LOGICAL*8

      o  Support for 128-bit floating point reals using REAL*16

      o  A set of data types:

         -  BYTE

         -  LOGICAL*1, LOGICAL*2, LOGICAL*4, LOGICAL*8

         -  INTEGER*1, INTEGER*2, INTEGER*4, INTEGER*8

         -  REAL*4, REAL*8, REAL*16

                                       3

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


         -  COMPLEX*8, COMPLEX*16, DOUBLE COMPLEX

         -  POINTER (CRAY style)

      o  Data statement style initialization in type declaration statements

      o  AUTOMATIC and STATIC statements

      o  Bit constants to initialize LOGICAL, REAL, and INTEGER values and
         participate in arithmetic and logical expressions

      o  Built-in functions %LOC, %REF, and %VAL

      o  VOLATILE statement

      o  Bit manipulation functions

      o  Binary, hexadecimal, and octal constants and Z and O format edit
         descriptors applicable to all data types

      o  I/O unit numbers that can be any nonnegative INTEGER*4 value

      o  Variable amounts of data can be read from and written to "STREAM"
         files, which contain no record delimiters

      o  ENCODE and DECODE statements

      o  ACCEPT, TYPE, and REWRITE input/output statements

      o  DEFINE FILE, UNLOCK, and DELETE statements

      o  USEROPEN subroutine invocation at file OPEN time

      o  Debug statements in source

      o  Generation of a source listing file with optional machine code rep-
         resentation of the executable source

      o  Generation of a symbolic assembly language representation of the
         executable source that can be assembled

      o  Variable format expressions in a FORMAT statement

      o  Optional run-time bounds checking of array subscripts and charac-
         ter substrings

      o  31-character identifiers that can include dollar sign ($) and un-
         derscore (_)

                                       4

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


      o  Language elements that support the various extended range and ex-
         tended precision floating point architectural features:

         -  32-bit IEEE S_floating data type, with an 8-bit exponent and 24-
            bit mantissa, which provides a range of 1.17549435E-38 (normal-
            ized) to 3.40282347E38 (the IEEE denormalized limit is 1.40129846E-
            45) and a precision of typically 7 decimal digits

         -  64-bit IEEE T_floating data type, with an 11-bit exponent and
            53-bit mantissa, which provides a range of 2.2250738585072013D-
            308 (normalized) to 1.7976931348623158D308 (the IEEE denormal-
            ized limit is 4.94065645841246544D-324) and a precision of typ-
            ically 15 decimal digits

         -  128-bit IEEE extended X_floating data type, with a 15-bit ex-
            ponent and a 113-bit mantissa, which provides a range of approx-
            imately 6.48Q-4966 to 1.18Q4932 and a precision of typically 33
            decimal digits

      o  Command line control for:

         -  The size of default INTEGER, REAL, and DOUBLE PRECISION data items

         -  The levels and types of optimization to be applied to the pro-
            gram

         -  The directories to search for INCLUDE files

         -  Inclusion or suppression of various compile-time warnings

         -  Inclusion or suppression of run-time checking for various I/O
            and computational errors

         -  Control over whether compilation terminates after a specific num-
            ber of errors has been found

         -  Choosing whether executing code will be thread-reentrant

      Digital Fortran 90 includes the following features and enhancements:

      o  Kind types for all of the hardware-supported data types:

         -  For 1-, 2-, 4-, and 8-byte LOGICAL data:

               LOGICAL (KIND=1)

                                       5

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


               LOGICAL (KIND=2)
               LOGICAL (KIND=4)
               LOGICAL (KIND=8)

         -  For 1-, 2-, 4-, and 8-byte INTEGER data:

               INTEGER (KIND=1)
               INTEGER (KIND=2)
               INTEGER (KIND=4)
               INTEGER (KIND=8)

         -  For 4-, 8-, and 16-byte REAL data:

               REAL (KIND=4)
               REAL (KIND=8)
               REAL (KIND=16)

         -  For single precision and double precision COMPLEX data:

               COMPLEX (KIND=4)
               COMPLEX (KIND=8)

      o  The following features of the proposed Fortran 95 standard:

         -  FORALL statement and construct (implemented prior to Version 4.1)

         -  Automatic deallocation of ALLOCATABLE arrays (implemented prior
            to Version 4.1)

         -  Dim argument to MAXLOC and MINLOC (implemented prior to Version
            4.1)

         -  PURE user-defined subprograms (implemented prior to Version 4.1)

         -  ELEMENTAL user-defined subprograms (a restricted form of a pure
            procedure)

         -  Pointer initialization (initial value)

         -  The NULL intrinsic to nullify a pointer

         -  Derived-type structure initialization

         -  CPU_TIME intrinsic subroutine

         -  Kind argument to CEILING and FLOOR intriniscs

                                       6

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


         -  Nested WHERE constructs, masked ELSEWHERE statement, and named
            WHERE constructs

         -  Comments allowed in namelist input

         -  Generic identifier in END INTERFACE statements

         -  Detection of Obsolescent and/or Deleted features listed in the
            proposed Fortran 95 standard. Digital Fortran flags these deleted
            and obsolescent features, but fully supports them.

      o  A number of High Performance Fortran (HPF) features, including:

         -  The data parallel FORALL statement and construct

         -  Execution model procedure prefixes:

               EXTRINSIC(HPF)
               EXTRINSIC(HPF_LOCAL)
               EXTRINSIC(HPF_SERIAL)

         -  PURE procedure prefix to specify a lack of procedure side ef-
            fects

         -  The following HPF data alignment and distribution directives:

               ALIGN
               DISTRIBUTE
               INHERIT
               PROCESSORS
               TEMPLATE
               SHADOW
               ON (in conjunction with INDEPENDENT loops)

         -  Many HPF-2 approved extensions, including:

            *  HPF_LOCAL routines, and all HPF_LOCAL_LIBRARY routines ex-
               cept LOCAL_BLKCNT, LOCAL_LINDEX, and LOCAL_UINDEX

            *  HPF_SERIAL routines

            *  ON directive within INDEPENDENT loops

            *  RESIDENT directive used in conjunction with INDEPENDENT loops

                                       7

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


            *  Mapping of derived type components

            *  Shadow width declarations

         -  HPF intrinsic procedures and library routines:

            *  NUMBER_OF_PROCESSORS and PROCESSORS_SHAPE

            *  Reduction functions

            *  Combining scatter functions

            *  Parallel prefix and suffix functions

            *  Sorting functions

            *  System Inquiry Intrinsics

            *  Computational Intrinsics

            *  Mapping inquiry subroutines

            *  Bit manipulation functions

            *  Array reduction functions

            *  Array combining scatter functions

            *  Array parallel prefix and suffix functions

            *  Array sorting functions GRADE_UP, GRADE_DOWN

            *  All HPF_LOCAL_LIBRARY routines except LOCAL_BLKCNT, LOCAL_
               LINDEX, and LOCAL_UINDEX

         -  HPF INDEPENDENT directive

         -  HPF SEQUENCE and NOSEQUENCE directives

      Digital Fortran 77 contains the following extensions to the FORTRAN
      77 standard:

      o  Support for recursive subprograms

      o  IMPLICIT NONE statements

      o  INCLUDE statement

      o  NAMELIST-directed I/O

                                       8

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


      o  DO WHILE and ENDDO statements

      o  Use of exclamation point (!) for end of line comments

      o  Generation of Cross Reference Listings

      o  Support for NTT Technical Requirement TR550001, Multivendor Inte-
         gration Architecture (MIA) Version 1.1, Division 2, Part 3-2, Pro-
         gramming Language FORTRAN

      o  Support for automatic arrays

      o  Support for the following SELECT CASE - CASE - CASE DEFAULT - END
         SELECT statements.

      o  Support for the EXIT and CYCLE statements and for construct names
         on DO - END DO statements

      o  Reporting of unused and uninitialized variables

      Digital Fortran provides a multiphase optimizer that is capable of per-
      forming optimizations across entire programs. Specific optimizations
      performed by both Digital Fortran 90 and Digital Fortran 77 include:

      o  Constant folding

      o  Optimizations of arithmetic IF, logical IF, and block IF-THEN-ELSE

      o  Global common subexpression elimination

      o  Removal of invariant expressions from loops

      o  Global allocation of general registers across program units

      o  In-line expansion of statement functions and routines

      o  Optimization of array addressing in loops

      o  Value propagation

      o  Deletion of redundant and unreachable code

      o  Loop unrolling

      o  Thorough dependence analysis

                                       9

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


      o  Software pipelining to rearrange instructions between different un-
         rolled loop iterations

      o  Optimized interface to intrinsic functions

      o  Loop transformation optimizations that apply to array references
         within loops, including:

         -  Loop blocking

         -  Loop distribution

         -  Loop fusion

         -  Loop interchange

         -  Loop scalar replacement

         -  Outer loop unrolling

      o  Speculative code scheduling, where a conditionally executed instruc-
         tion is moved to a position before a test instruction and executed
         unconditionally. This reduces instruction latency stalls. (Perfor-
         mance may be reduced somewhat, because the run-time system must dis-
         miss exceptions caused by speculative instructions.)

      Specific optimizations performed by Digital Fortran 90 include:

      o  Array temporary elimination

      o  A number of HPF-specific optimizations, including:

         -  Message vectorization

         -  Nearest-neighbor optimizations for improved communication per-
            formance of constructs typically seen in PDE solvers

         -  Parallelism of reductions

         -  Run-time preprocessing of loops for improved performance of ir-
            regular data access code

         -  Many other communication-based optimizations

      Run-Time Library Redistribution:

                                      10

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


      The Digital Fortran kit may include updated Run-Time Library share-
      able images. Digital grants the user a nonexclusive royalty-free world-
      wide right to reproduce and distribute the executable version of the
      Run-Time Library (the "RTLs"), provided that the user does all of the
      following:

      o  Distributes the RTLs only in conjunction with and as a part of the
         user's software application product that is designed to operate in
         the Digital UNIX environment.

      o  Does not use Digital's name, logo, or trademarks to market the user's
         software application product.

      o  Includes Digital's copyright notice for Digital Fortran on the user's
         product disk label and/or on the title page of the documentation
         for software application product.

      o  Agrees to indemnify, hold harmless, and defend Digital from and against
         any claims or lawsuits, including attorney's fees, that arise or
         result from the use or distribution of the software application prod-
         uct.

      o  Except as expressly provided herein, Digital grants no implied or
         express license under any of its patents, copyrights, trade secrets,
         trademarks, or any license or other proprietary interests and rights.

      For Digital UNIX Alpha systems, the RTL images are designated as:

         libfor.a, libfor.so
         libUfor.a, libUfor.so
         libFutil.a, libFutil.so
         libshpf.a, libshipf.so (Digital Fortran 90 only)
         for_msg.cat








                                      11

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


      HARDWARE REQUIREMENTS

      Processors Supported:

      Any Alpha system that is capable of running Digital UNIX Version 3.0,
      3.2, or 4.0.

      Disk Space Requirements:

      Disk space required for installation:

      Root file system:       / 0 MB

      Other file systems:     /usr 28 MB
                              /tmp 1 MB
                              /var 0 MB

      Disk space required for use (permanent):

      Root file system:       /0 MB

      Other file systems:     /usr 24 MB
                              /var 0 MB

      These sizes are approximate; actual sizes may vary depending on the
      user's system environment, configuration, and software options.

      Memory Requirements:

      For systems used to compile a program for parallel execution with the
      -wsf flag, a minimum of 64 MB of physical memory is recommended.

      SOFTWARE REQUIREMENTS

      o  Digital UNIX Operating System Version 3.0, 3.2, or 4.0 (SPD 41.61.xx)

      o  Digital UNIX Developers' Toolkit Version 3.0, 3.2, or 4.0 (SPD
         44.36.xx) for Digital UNIX V3.0, 3.2, or 4.0, respectively or
         Digital UNIX Developers' Extensions Version 3.0 or 3.2 for Digital
         UNIX V3.0 or 3.2, respectively. (Note: There is no Developers'
         Extension Version 4.0; it was incorporated into the Developers'
         Toolkit Version 4.0 to provide a single product offering for
         debuggers, profilers, and other UNIX software development commands
         and utilities)
                                      12

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


      OPTIONAL SOFTWARE REQUIREMENTS

      Digital Parallel Software Environment (SPD 51.09.02) is required to
      link and execute High Performance Fortran programs compiled for par-
      allel execution, using the "-wsf" compiler option, on multiple Alpha
      systems. The Digital Parallel Software Environment is available only
      for Digital Alpha systems running Digital UNIX.

      KAP for DEC Fortran V3.1 for Digital UNIX

      KAP for DEC Fortran 90 V3.1 for Digital UNIX

      Digital Extended Math Library V3.3 for Digital UNIX

      GROWTH CONSIDERATIONS

      The minimum hardware/software requirements for any future version of
      Digital Fortran may be different from the requirements for the cur-
      rent version.

      DISTRIBUTION MEDIA

      Media and documentation for Digital Fortran is available on the Dig-
      ital CD-ROM Software Library for Digital UNIX Alpha Layered Products
      (QA-054AA-H8). Documentation in printed hardcopy format can be ordered
      separately.

      ORDERING INFORMATION

      Software Licenses:

         Unlimited System Use: QL-MV2A*-AA
         Personal Use: QL-MV2AM-2B
         Concurrent Use: QL-MV2AM-3B
         Concurrent 5 Pack: QL-MV2AM-3C
         Concurrent 10 Pack: QL-MV2AM-3D

      Software Documentation:

         Digital Fortran 90 Documentation: QA-MV2AA-GZ

                                      13

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


         Digital Fortran 77 Documentation: QA-MV2AB-GZ

      Software Product Services: QT-MV2*-**

      *  Denotes variant fields. For additional information on available li-
         censes, services, and media, refer to the appropriate price book.

      SOFTWARE LICENSING

      This software is furnished only under license. For more information
      about Digital's licensing terms and policies, contact your local Dig-
      ital office.

      LICENSE MANAGEMENT FACILITY SUPPORT

      Digital Fortran supports Digital's License Management Facility.

      License units for Digital Fortran are allocated on an Unlimited Sys-
      tem Use plus Concurrent Use basis.

      Each Concurrent Use license allows any one individual at a time to use
      the layered product.

      SOFTWARE PRODUCT SERVICES

      A variety of service options are available from Digital. For more in-
      formation, contact your local Digital office.

      SOFTWARE WARRANTY

      Warranty for this software product is provided by Digital with the pur-
      chase of a license for the product. This means that Digital will rem-
      edy any nonconformance when it is reported to Digital by the customer
      during the warranty period.







                                      14

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


      The warranty period is one year. It begins when the software is in-
      stalled or thirty days after delivery to the end user, whichever oc-
      curs first and expires one year later. All warranty related support
      for this software will end one year after release of the subsequent
      versions.

      Warranty is provided in the country of purchase. Digital will provide
      a service location that will accept reporting (in format prescribed
      by Digital) of a nonconformance problem caused when using the licensed
      software under normal conditions as defined by this SPD. Digital will
      remedy a nonconformance problem in the current unaltered release of
      the licensed software by issuing a correction information such as:

      o  Correction documentation

      o  Corrected code

      o  Notice of availability of corrected code

      o  A restriction or a bypass

      The customer will be responsible for the preparation and submission
      of the problem report to the service location.

      WARRANTY EXCLUSION

      DIGITAL DOES NOT WARRANT THAT THE SOFTWARE LICENSED TO CUSTOMER SHALL
      BE ERROR FREE, THAT THE SOFTWARE SHALL OPERATE WITH ANY HARDWARE AND
      SOFTWARE OTHER THAN AS SPECIFIED IN THIS SPD, THAT THE SOFTWARE SHALL
      SATISFY CUSTOMER'S OWN SPECIFIC REQUIREMENTS, OR THAT COPIES OF THE
      SOFTWARE OTHER THAN THOSE PROVIDED OR AUTHORIZED BY DIGITAL SHALL CON-
      FORM TO THE SPD.

      DIGITAL MAKES NO WARRANTIES WITH RESPECT TO THE FITNESS AND OPERABIL-
      ITY OF MODIFICATIONS NOT MADE BY DIGITAL.

      IF THE SOFTWARE FAILS TO FUNCTION FOR REASONS STATED ABOVE, THE CUS-
      TOMER'S WARRANTY WILL BE INVALIDATED AND ALL SERVICE CALLS WILL BE BIL-
      LABLE AT THE PREVAILING PER CALL RATES.


                                      15

 



      Digital Fortran Version 4.1 for Digital UNIX Alpha Systems   SPD 37.54.08


      This Software Warranty is effective for licensed software products or-
      dered in the United States after October 1988 and supersedes all prior
      versions.

      The above information is valid at time of release. Please contact your
      local Digital office for the most up-to-date information.

      [R]  CRAY is a registered trademark of Cray Research, Inc.

      [R]  IBM is a registered trademark of International Business Ma-
           chines Corporation.

      [R]  IEEE is a registered trademark of the Institute of Electrical
           and Electronics Engineers, Inc.

      [R]  OSF and OSF/1 are registered trademarks of Open Software
           Foundation, Inc.

      [R]  UNIX is a registered trademark in the United States and other
           countries licensed exclusively through X/Open Company Ltd.

      [TM] The DIGITAL Logo, DEC, DEC Fortran, Digital, OpenVMS, ULTRIX,
           and VAX are trademarks of Digital Equipment Corporation

      [TM] Windows NT, NT, and Windows are trademarks of Microsoft Cor-
           poration.

      � 1996 Digital Equipment Corporation. All rights reserved.













                                      16
3.2SPD 56.18.05: DF v7.1 for OpenVMS Alpha - f90 and f77TLE::WHITLOCKStan WhitlockSun Apr 20 1997 12:51823
          PRODUCT NAME:  Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05


          Software
          Product
          Description

          ___________________________________________________________________



          PRODUCT NAME:  Digital Fortran Version 7.1 for OpenVMS Alpha Systems
                         SPD 56.18.05



          DESCRIPTION

          This is the Software Product Description (SPD) for Digital Fortran 
	  Version 7.1 for OpenVMS[TM] Alpha Systems. Digital Fortran contains 
	  both the Digital Fortran 90 Version 7.1 software and the Digital 
	  Fortran 77 Version 7.1 software. The following description refers to 
	  Digital Fortran unless a specific reference to the 90 or 77 product 
	  is needed to distinguish between the two software products.

          Digital Fortran is an implementation of the Fortran programming lan-
          guage that supports the FORTRAN 66, FORTRAN 77 and Fortran 90 stan-
          dards. Digital Fortran 77 fully supports the following standards:

          o  FORTRAN 66 (ANSI X3.9-1966)

          o  FORTRAN 77 (ANSI X3.9-1978)

          o  ISO 1539-1980(E)

          o  MIL-STD-1753

                                                                 January 1997

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05

          o  FIPS-69-1 (Digital Fortran meets the requirements of this standard
             by conforming to the ANSI Standard and by including a flagger. The
             flagger optionally produces diagnostic messages for compile-time
             elements that do not conform to the Full-Level ANSI Fortran Stan-
             dard.)

          Digital Fortran 90 supports all of the standards that Digital Fortran
          77 supports plus the following new standards:

          o  Fortran 90 (ANSI X3.198-1992)

          o  ISO 1539-1991(E)

          Digital Fortran supports extensions to the ISO and ANSI standards, in-
          cluding a number of extensions defined by Digital Fortran for the var-
          ious Digital Fortran platforms (operating system/architecture pairs).
          In addition to OpenVMS Alpha systems, Digital Fortran platforms in-
          clude:

          o  Digital Fortran 77 on Windows NT[TM] Alpha systems

          o  Digital Fortran 90 and Digital Fortran 77 on Digital UNIX[R] (for-
             merly DEC OSF/1[R]) Alpha systems

          o  Digital Fortran 77 on OpenVMS VAX[TM] systems

          Major additions to the FORTRAN 77 standard introduced by the Fortran
          90 standard include:

          o  Array operations

          o  Improved facilities for numeric computation

          o  Parameterized intrinsic data types

          o  User-defined data types

          o  Facilities for modular data and procedure definitions

          o  Pointers

          o  The concept of language evolution

                                           2

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05

          Digital Fortran includes the following features and enhancements in
          both Digital Fortran 90 and Digital Fortran 77:

          o  Support for linking against static and shared libraries

          o  Support for creating sharable code to be put into a shared library

          o  Support for stack-based storage

          o  Support for dynamic memory allocation

          o  Support for reading and writing binary data files in nonnative for-
             mats, including IEEE[R] (little-endian and big-endian), VAX, IBM[R]
             System\360, and CRAY[R] integer and floating point formats

          o  User control over IEEE floating point exception handling, report-
             ing, and resulting values

          o  Control for memory boundary alignment of items in COMMON and fields
             in structures and warnings for misaligned data

          o  Directives to control listing page titles and subtitles, object 
	     file identification field, COMMON and record field alignment, and 
	     some attributes of COMMON blocks

          o  Composite data declarations using STRUCTURE, END STRUCTURE, and 
	     RECORD statements, and access to record components through field 
	     references

          o  Explicit specification of storage allocation units for data types
             such as:

             INTEGER*4
             LOGICAL*4
             REAL*4
             REAL*8
             COMPLEX*8

          o  Support for 64-bit signed integers using INTEGER*8 and LOGICAL*8

          o  Support for 128-bit floating point reals using REAL*16

                                           3

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05

          o  A set of data types:

             -  BYTE

             -  LOGICAL*1, LOGICAL*2, LOGICAL*4, LOGICAL*8

             -  INTEGER*1, INTEGER*2, INTEGER*4, INTEGER*8

             -  REAL*4, REAL*8, REAL*16

             -  COMPLEX*8, COMPLEX*16, DOUBLE COMPLEX

             -  POINTER (CRAY style)

          o  Data statement style initialization in type declaration statements

          o  AUTOMATIC and STATIC statements

          o  Bit constants to initialize LOGICAL, REAL, and INTEGER values and
             participate in arithmetic and logical expressions

          o  Built-in functions %LOC, %REF, %VAL, and %DESCR

          o  VOLATILE statement

          o  Bit manipulation functions

          o  Binary, hexadecimal, and octal constants and Z and O format edit
             descriptors applicable to all data types

          o  I/O unit numbers that can be any nonnegative INTEGER*4 value

          o  Variable amounts of data can be read from and written to "STREAM"
             files, which contain no record delimiters

          o  ENCODE and DECODE statements

          o  ACCEPT, TYPE, and REWRITE input/output statements

          o  DEFINE FILE, UNLOCK, and DELETE statements

          o  USEROPEN subroutine invocation at file OPEN time

          o  Debug statements in source

          o  Generation of a source listing file with optional machine code rep-
             resentation of the executable source

          o  Variable format expressions in a FORMAT statement

                                           4

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05

          o  Optional run-time bounds checking of array subscripts and charac-
             ter substrings

          o  31-character identifiers that can include dollar sign ($) and un-
             derscore (_)

          o  Language elements that support the various extended range and ex-
             tended precision floating point architectural features:

             -  32-bit VAX F_floating data type, with an 8-bit exponent and 24-
                bit mantissa, which provides a range of 0.293873588E-38 to 
		1.7014117E38 and a precision of typically 7 decimal digits

             -  64-bit VAX D_floating data type, with an 8-bit exponent and 56-
                bit mantissa, which provides a range of 0.2938735877055719D-38
                to 1.70141183460469229D38 and a precision of typically 16 dec-
                imal digits. Calculations with D_floating data on Alpha systems
                use G_floating precision (53-bit instead of 56-bit mantissa)

             -  64-bit VAX G_floating data type, with an 11-bit exponent and 53-
                bit mantissa, which provides a range of 0.5562684646268004D-308
                to 0.89884656743115785407D308 and a precision of typically 15
                decimal digits

             -  32-bit IEEE S_floating data type, with an 8-bit exponent and 24-
                bit mantissa, which provides a range of 1.17549435E-38 (normal-
                ized) to 3.40282347E38 (the IEEE denormalized limit is 
		1.40129846E-45) and a precision of typically 7 decimal digits

             -  64-bit IEEE T_floating data type, with an 11-bit exponent and
                53-bit mantissa, which provides a range of 2.2250738585072013D-
                308 (normalized) to 1.7976931348623158D308 (the IEEE denormal-
                ized limit is 4.94065645841246544D-324) and a precision of typ-
                ically 15 decimal digits

             -  128-bit IEEE extended Alpha X_floating data type, with a 15-bit
                exponent and a 113-bit mantissa, which provides a range of ap-
                proximately 6.48Q-4966 to 1.18Q4932 and a precision of typically
                33 decimal digits


                                           5

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05

          o  The following combinations of floating types may be specified:

             -  F, G and X (the default)

             -  F, D and X

             -  S, T and X

          o  Command line control for:

             -  The size of default INTEGER, REAL, and DOUBLE PRECISION data 
		items

             -  The levels and types of optimization to be applied to the pro-
                gram

             -  The directories to search for INCLUDE files

             -  Inclusion or suppression of various compile-time warnings

             -  Inclusion or suppression of run-time checking for various I/O
                and computational errors

             -  Control over whether compilation terminates after a specific 
		number of errors has been found

             -  Choosing whether executing code will be thread-reentrant

          Digital Fortran takes advantage of OpenVMS facilities to include the
          following features and enhancements in both Digital Fortran 90 and 
	  Digital Fortran 77:

          o  Language elements for keyed and sequential access to OpenVMS RMS
             indexed organization files

          o  The ability to specify an OpenVMS text library module in an INCLUDE
             statement

          o  Support for calls to OpenVMS system service and Run-Time Library
             procedures

          o  Generation of symbol tables for the OpenVMS Symbolic Debugger

          o  LIB$ESTABLISH and LIB$REVERT are provided as intrinsic functions
             for compatibility with Digital Fortran exception handling

                                           6

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05

          o  Support for providing error diagnostics to the DEC 
	     Language-Sensitive Editor component of DECset for OpenVMS

          Digital Fortran 90 includes the following features and enhancements:

          o  Kind types for all of the hardware-supported data types:

             -  For 1-, 2-, 4-, and 8-byte LOGICAL data:

                LOGICAL (KIND=1),
                LOGICAL (KIND=2),
                LOGICAL (KIND=4),
                LOGICAL (KIND=8)

             -  For 1-, 2-, 4-, and 8-byte INTEGER data:

                INTEGER (KIND=1)
                INTEGER (KIND=2)
                INTEGER (KIND=4),
                INTEGER (KIND=8)

             -  For 4-, 8-, and 16-byte REAL data:

                REAL (KIND=4)
                REAL (KIND=8)
                REAL (KIND=16)

             -  For single precision and double precision COMPLEX data:

                COMPLEX (KIND=4)
                COMPLEX (KIND=8)

          o  The following features of the proposed Fortran 95 standard:

             -  FORALL statement and construct (implemented prior to V7.1)

             -  Automatic deallocation of ALLOCATABLE arrays (implemented prior
                to V7.1)

             -  Dim argument to MAXLOC and MINLOC (implemented prior to V7.1)

             -  PURE user-defined subprograms (implemented prior to V7.1)

                                           7

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05

             -  ELEMETAL user-defined subprograms (a restricted form of a pure
                procedure)

             -  Pointer initialization (initial value)

             -  The NULL intrinsic to nullify a pointer

             -  Derived-type structure initialization

             -  CPU_TIME intrinsic subroutine

             -  Kind argument to CEILING and FLOOR intrinsics

             -  Nested WHERE constructs, masked ELSEWHERE statement, and named
                WHERE constructs

             -  Comments allowed in namelist input

             -  Generic identifier in END INTERFACE statements

             -  Detection of Obsolescent and/or Deleted features listed in the
                proposed Fortran 95 standard. Digital Fortran flags these ob-
                solescent and deleted features, but fully supports them.

          Digital Fortran 77 contains the following extensions to the FORTRAN
          77 standard:

          o  Support for recursive subprograms

          o  IMPLICIT NONE statements

          o  INCLUDE statement

          o  NAMELIST-directed I/O

          o  DO WHILE and ENDDO statements

          o  Use of exclamation point (!) for end of line comments

          o  Generation of Cross Reference Listings

          o  Support for NTT Technical Requirement TR550001, Multivendor Inte-
             gration Architecture (MIA) Version 1.1, Division 2, Part 3-2, Pro-
             gramming Language FORTRAN

          o  Support for automatic arrays

                                           8

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05

          o  Support for the following SELECT CASE - CASE - CASE DEFAULT - END
             SELECT statements.

          o  Support for the EXIT and CYCLE statements and for construct names
             on DO - END DO statements

          o  Reporting of unused and uninitialized variables

          Digital Fortran 77 takes advantage of OpenVMS facilities to include
          the following features and enhancements:

          o  Support for providing cross-reference information to the DEC Source
             Code Analyzer component of DECset for OpenVMS

          o  Support for translation of CDD/Repository records into Fortran 
	     records

          o  Support for the extraction of program design information in com-
             ments using the DEC Source Code Analyzer component of DECset for
             OpenVMS

          Digital Fortran provides a multiphase optimizer that is capable of 
	  performing optimizations across entire programs. Specific 
	  optimizations performed by both Digital Fortran 90 and Digital 
	  Fortran 77 include:

          o  Constant folding

          o  Optimizations of arithmetic IF, logical IF, and block IF-THEN-ELSE

          o  Global common subexpression elimination

          o  Removal of invariant expressions from loops

          o  Global allocation of general registers across program units

          o  In-line expansion of statement functions and routines

          o  Optimization of array addressing in loops

          o  Value propagation

          o  Deletion of redundant and unreachable code

          o  Loop unrolling

          o  Thorough dependence analysis

                                           9

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05

          o  Software pipelining to rearrange instructions between different un-
             rolled loop iterations

          o  Optimized interface to intrinsic functions

          o  Loop transformation optimizations that apply to array references
             within loops, including:

             -  Loop blocking

             -  Loop distribution

             -  Loop fusion

             -  Loop interchange

             -  Loop scalar replacement

             -  Outer loop unrolling

          Specific optimizations performed by Digital Fortran 90 include:

          o  Array temporary elimination

          Both Digital Fortran 90 and Digital Fortran 77 are shareable, 
	  re-entrant compilers that operate under the OpenVMS operating system.
	  They globally optimize source programs while taking advantage of the 
	  native instruction set and the OpenVMS virtual memory system.

          Run-Time Library Redistribution:

          The Digital Fortran kit may include updated Run-Time Library share-
          able images. Digital grants the user a nonexclusive royalty-free 
	  worldwide right to reproduce and distribute the executable version 
	  of the Run-Time Library (the "RTLs"), provided that the user does all
	  of the following:

          o  Distributes the RTLs only in conjunction with and as a part of the
             user's software application product that is designed to operate in
             the OpenVMS environment.

          o  Does not use the name, logo, or trademarks of Digital to market the
             user's software application product.

                                           10

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05

          o  Includes the copyright notice of Digital for Digital Fortran on the
             user's product disk label and/or on the title page of the documen-
             tation for software application product.

          o  Agrees to indemnify, hold harmless, and defend Digital from and 
	     against any claims or lawsuits, including attorney's fees, that 
	     arise or result from the use or distribution of the software 
	     application product.

          Except as expressly provided herein, Digital grants no implied or ex-
          press license under any of its patents, copyrights, trade secrets, 
	  trademarks, or any license or other proprietary interests and rights.

          The RTL image is designated as DEC$FORRTL.EXE and is also provided 
	  with the name FOR$DEC$FORRTL.EXE. Digital Fortran may include a 
	  separate installation kit for the purpose of installing the Digital 
	  Fortran Run-Time Library. This kit, installable with the POLYCENTER 
	  Software Installation Utility (a component of OpenVMS) must be used 
	  to install the RTL image on other systems.

          HARDWARE REQUIREMENTS

          Processors Supported:

          Any Alpha system that is capable of running OpenVMS Alpha Version 6.1.

          ___________________________________________________________________

          Table_1:__Disk_Space_Requirements_(Block_Cluster_Size_=_1)_________

          TASK____________SIZE_______________________________________________

          Installation:   40,000 blocks (20.0 MB)

          Permanent:______40,000_blocks_(20.0_MB)____________________________

          These counts refer to the disk space required on the system disk. The
          sizes are approximate; actual sizes may vary depending on the user's
          system environment, configuration, and software options.

                                           11

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05

          CLUSTER ENVIRONMENT

          This layered product is fully supported when installed on any valid
          and licensed VMScluster* configuration without restrictions. The HARD-
          WARE REQUIREMENTS sections of this product's Software Product Descrip-
          tion and System Support Addendum detail any special hardware required
          by this product.

          * VMScluster configurations are fully described in the VMScluster 
	  Software Product Description (SPD 42.18.xx) and include CI, 
	  Ethernet, DSSI, FDDI, SCSI and Mixed Interconnect configurations.

          SOFTWARE REQUIREMENTS

          For All Systems Using Terminals (No DECwindows Interface):

          o  OpenVMS Alpha Operating System V6.1-V7.1

          For All Workstations Running DECwindows:

          o  OpenVMS Alpha Operating System V6.1-V7.1

          o  DECwindows Motif[R] V1.1-V1.2-4 for OpenVMS Alpha

          OpenVMS Optional Components

          The OpenVMS Alpha operating system can be configured to include or 
	  omit certain components. Digital Fortran requires the following 
	  components to be included:

          o  Programming Support

          o  Utilities

          The default for OpenVMS Alpha installation is to include all compo-
          nents.





                                           12

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05

          OPTIONAL SOFTWARE REQUIREMENTS

          o  DECset V11.1-V12.1 for OpenVMS Alpha

          o  KAP for Digital Fortran V2.0 for OpenVMS Alpha

          o  Digital Extended Math Library V2.9 for OpenVMS Alpha

          o  CDD/Repository V5.3 for OpenVMS Alpha

          GROWTH CONSIDERATIONS

          The minimum hardware/software requirements for any future version of
          this product may be different from the requirements for the current
          version.

          DISTRIBUTION MEDIA

          This product is available on the Digital CD-ROM Software Library for
          OpenVMS Alpha (QA-03XAA-H8). Documentation in hardcopy format can be
          ordered separately.

          ORDERING INFORMATION

          Software Licenses:

          Unlimited System Use: QL-MV1A*-AA
          Concurrent Use: QL-100AM-3B
          Concurrent 5 Pack: QL-100AM-3C
          Concurrent 10 Pack: QL-100AM-3D

          Software Documentation:

          Digital Fortran 90 Documentation: QA-MV1AA-GZ
          Digital Fortran 77 Documentation: QA-MV1AB-GZ

          Software Product Services: QT-MV1*-**

          * Denotes variant fields. For additional information on available li-
          censes, services, and media, refer to the appropriate price book.

                                           13

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05

          SOFTWARE LICENSING

          This software is furnished only under license. For more information
          about licensing terms and policies of Digital, contact your local 
	  Digital office.

          LICENSE MANAGEMENT FACILITY SUPPORT

          Digital Fortran supports the License Management Facility of Digital.

          License units for Digital Fortran are allocated on an Unlimited Sys-
          tem Use plus Concurrent Use basis.

          Each Concurrent Use license allows any one individual at a time to use
          the layered product.

          SOFTWARE PRODUCT SERVICES

          A variety of service options are available from Digital. For more in-
          formation, contact your local Digital office.

          SOFTWARE WARRANTY

          Warranty for this software product is provided by Digital with the 
	  purchase of a license for the product. This means that Digital will 
	  remedy any nonconformance when it is reported to Digital by the 
	  customer during the warranty period.

          The warranty period is one year. It begins when the software is in-
          stalled or thirty days after delivery to the end user, whichever oc-
          curs first and expires one year later. All warranty related support
          for this software will end one year after release of the subsequent
          versions.

          Warranty is provided in the country of purchase. Digital will provide
          a service location that will accept reporting (in format prescribed
          by Digital) of a nonconformance problem caused when using the licensed
          software under normal conditions as defined by this SPD. Digital will



                                           14

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05

          remedy a nonconformance problem in the current unaltered release of
          the licensed software by issuing a correction information such as:

          o  Correction documentation

          o  Corrected code

          o  Notice of availability of corrected code

          o  A restriction or a bypass

          The customer will be responsible for the preparation and submission
          of the problem report to the service location.

          WARRANTY EXCLUSION

          DIGITAL DOES NOT WARRANT THAT THE SOFTWARE LICENSED TO CUSTOMER SHALL
          BE ERROR FREE, THAT THE SOFTWARE SHALL OPERATE WITH ANY HARDWARE AND
          SOFTWARE OTHER THAN AS SPECIFIED IN THIS SPD, THAT THE SOFTWARE SHALL
          SATISFY CUSTOMER'S OWN SPECIFIC REQUIREMENTS, OR THAT COPIES OF THE
          SOFTWARE OTHER THAN THOSE PROVIDED OR AUTHORIZED BY DIGITAL SHALL CON-
          FORM TO THE SPD.

          DIGITAL MAKES NO WARRANTIES WITH RESPECT TO THE FITNESS AND OPERABIL-
          ITY OF MODIFICATIONS NOT MADE BY DIGITAL.

          IF THE SOFTWARE FAILS TO FUNCTION FOR REASONS STATED ABOVE, THE CUS-
          TOMER'S WARRANTY WILL BE INVALIDATED AND ALL SERVICE CALLS WILL BE 
	  BILLABLE AT THE PREVAILING PER CALL RATES.

          This Software Warranty is effective for licensed software products or-
          dered in the United States after October 1988 and supersedes all prior
          versions.

          The above information is valid at time of release. Please contact your
          local Digital office for the most up-to-date information.





                                           15

 



          Digital Fortran Version 7.1 for OpenVMS Alpha Systems
          SPD 56.18.05


          �    CRAY is a registered trademark of Cray Research, Inc.

          �    IBM is a registered trademark of International Business Ma-
               chines Corporation.

          �    IEEE is a registered trademark of the Institute of Electrical
               and Electronics Engineers, Inc.

          �    Motif is a registered trademark of Open Software Foundation,
               Inc.

          �    OSF and OSF/1 are registered trademarks of Open Software
               Foundation, Inc.

          �    UNIX is a registered trademark in the United States and other
               countries licensed exclusively through X/Open Company Ltd.

          [TM] The DIGITAL Logo, DEC, DEC Fortran, DIGITAL, OpenVMS, ULTRIX,
               DECset, CDD/Repository, and VAX are trademarks of Digital
               Equipment Corporation.

          [TM] Windows NT, NT, and Windows are trademarks of Microsoft Cor-
               poration.

          � 1997 Digital Equipment Corporation. All rights reserved.















                                           16