| Previous | Contents | Index | 
This appendix summarizes the HP Fortran language extensions to the ANSI/ISO Fortran 95 Standard.
This section summarizes the HP Fortran language extensions. Most extensions are available on all supported operating systems. However, some extensions are limited to one or more platforms. If an extension is limited, it is labeled.
The following are extensions to the methods and rules for source forms:
The following are extensions to the rules for names (see Section 2.1.2):
The following are extensions to the Fortran 95 character set:
The following are data-type extensions (see Section 3.2):
| BYTE | INTEGER*1 | REAL*8 | 
| LOGICAL*1 | INTEGER*2 | REAL*16 | 
| LOGICAL*2 | INTEGER*4 | COMPLEX*8 | 
| LOGICAL*4 | INTEGER*8 | COMPLEX*16 | 
| LOGICAL*8 | REAL*4 | COMPLEX*32 | 
C strings are allowed in character constants as an extension (see Section 3.2.5.1).
Hollerith constants are allowed as an extension (see Section 3.4.4).
When operands of different intrinsic data types are combined in expressions, conversions are performed as necessary (see Section 4.1.1.2).
Binary, octal, hexadecimal, and Hollerith constants can appear wherever numeric constants are allowed (see Section 3.4).
The following are extensions allowed in logical expressions (see Section 4.1.4):
The following specification attributes and statements are extensions:
The following control statements are extensions to Fortran 95 (see Chapter 7):
These are older Fortran features that have been deleted in Fortran 95. HP Fortran fully supports these features.
The %VAL, %REF, %DESCR, and %LOC built-in functions are extensions (see Section 8.8.9).
The following are extensions allowed in I/O formatting:
Compilation Control Statements
The following statements are extensions that can influence compilation (see Chapter 13):
      
  | 
  
   
 
The following I/O statements and specifiers are extensions:
 
The following statement specifiers and statements are extensions (see 
Chapter 12 for details):
 
The following general directives are extensions (see Chapter 14):
 
The following intrinsic procedures are extensions (see Chapter 9):
  
     
       
  
      
      
  
  
  
  
    
  
    
  
    
  
  
     
  
      ALIAS
     
    
      INTEGER
     
    
      PSECT
     
  
     
  
      ATTRIBUTES
     
    
      IVDEP
     
    
      REAL
     
  
     
  
      DECLARE
     
    
      MESSAGE
     
    
      SUBTITLE
     
  
     
  
      DEFINE
     
    
      NODECLARE
     
    
      STRICT
     
  
     
  
      FIXEDFORMLINESIZE
     
    
      NOFREEFORM
     
    
      TITLE
     
  
     
  
      FREEFORM
     
    
      NOSTRICT
     
    
      UNDEFINE
     
  
     
  
      IDENT
     
    
      OBJCOMMENT
     
    
      UNROLL
     
  
     
  
      IF
     
    
      OPTIONS
     
    
       
     
  
     
      IF DEFINED
     
    
      PACK
     
    
       
     
  
  
     
  
      ACOSD
     
    
       AIMAX0
     
    
       AIMIN0
     
    
       AJMAX0
     
  
     
  
      AJMIN0
     
    
       AND
     
    
       ASIND
     
    
       ASM
     
  
     
  
      ATAN2D
     
    
       ATAND
     
    
       BITEST
     
    
       BJTEST
     
  
     
  
      CDABS
     
    
       CDCOS
     
    
       CDEXP
     
    
       CDLOG
     
  
     
  
      CDSIN
     
    
       CDSQRT
     
    
       COSD
     
    
       COTAN
     
  
     
  
      COTAND
     
    
       CQABS
     
    
       CQCOS
     
    
       CQEXP
     
  
     
  
      CQLOG
     
    
       CQSIN
     
    
       CQSQRT
     
    
       DACOSD
     
  
     
  
      DASIND
     
    
       DASM
     
    
       DATAN2
     
    
       DATAN2D
     
  
     
  
      DATAND
     
    
       DATE
     
    
       DBLEQ
     
    
       DCMPLX
     
  
     
  
      DCONJG
     
    
       DCOSD
     
    
       DCOTAN
     
    
       DCOTAND
     
  
     
  
      DFLOAT
     
    
       DFLOTI
     
    
       DFLOTJ
     
    
       DIMAG
     
  
     
  
      DREAL
     
    
       DSIND
     
    
       DTAND
     
    
       EOF
     
  
     
  
      ERRSNS
     
    
       EXIT
     
    
       FASM
     
    
       FLOATI
     
  
     
  
      FLOATJ
     
    
       FP_CLASS
     
    
       FREE
     
    
       HFIX
     
  
     
  
      IARGCOUNT
     
    
       IARGPTR
     
    
       IBCHNG
     
    
       IDATE
     
  
     
  
      IIABS
     
    
       IIAND
     
    
       IIBCLR
     
    
       IIBITS
     
  
     
  
      IIBSET
     
    
       IIDIM
     
    
       IIDINT
     
    
       IIDNNT
     
  
     
  
      IIEOR
     
    
       IIFIX
     
    
       IINT
     
    
       IIOR
     
  
     
  
      IIQINT
     
    
       IIQNNT
     
    
       IISHFT
     
    
       IISHFTC
     
  
     
  
      IISIGN
     
    
       IMAX0
     
    
       IMAX1
     
    
       IMIN0
     
  
     
  
      IMIN1
     
    
       IMOD
     
    
       IMVBITS
     
    
       ININT
     
  
     
  
      INOT
     
    
       INT1
     
    
       INT2
     
    
       INT4
     
  
     
  
      IQINT
     
    
       IQNINT
     
    
       ISHA
     
    
       ISHC
     
  
     
  
      ISHL
     
    
       ISNAN
     
    
       IZEXT
     
    
       JFIX
     
  
     
  
      JIAND
     
    
       JIBCLR
     
    
       JIBITS
     
    
       JIBSET
     
  
     
  
      JIDIM
     
    
       JIDINT
     
    
       JIDNNT
     
    
       JIEOR
     
  
     
  
      JINT
     
    
       JIOR
     
    
       JIQINT
     
    
       JIQNNT
     
  
     
  
      JISHFT
     
    
       JISHFTC
     
    
       JISIGN
     
    
       JMAX0
     
  
     
  
      JMAX1
     
    
       JMIN0
     
    
       JMIN1
     
    
       JMOD
     
  
     
  
      JMVBITS
     
    
       JNINT
     
    
       JNOT
     
    
       JZEXT
     
  
     
  
      KIQINT
     
    
       KIQNNT
     
    
       LEADZ
     
    
       LOC
     
  
     
  
      LSHIFT
     
    
       MALLOC
     
    
       MULT_HIGH
     
    
       NWORKERS
     
  
     
  
      OR
     
    
       POPCNT
     
    
       POPPAR
     
    
       QABS
     
  
     
  
      QACOS
     
    
       QACOSD
     
    
       QASIN
     
    
       QASIND
     
  
     
  
      QATAN
     
    
       QATAND
     
    
       QATAN2
     
    
       QATAN2D
     
  
     
  
      QCMPLX
     
    
       QCONJG
     
    
       QCOS
     
    
       QCOSD
     
  
     
  
      QCOSH
     
    
       QCOTAN
     
    
       QCOTAND
     
    
       QDIM
     
  
     
  
      QEXP
     
    
       QEXT
     
    
       QEXTD
     
    
       QFLOAT
     
  
     
  
      QIMAG
     
    
       QINT
     
    
       QLOG
     
    
       QLOG10
     
  
     
  
      QMAX1
     
    
       QMIN1
     
    
       QMOD
     
    
       QNINT
     
  
     
  
      QREAL
     
    
       QSIGN
     
    
       QSIN
     
    
       QSIND
     
  
     
  
      QSINH
     
    
       QSQRT
     
    
       QTAN
     
    
       QTAND
     
  
     
  
      QTANH
     
    
       RAN
     
    
       RANDU
     
    
       RSHIFT
     
  
     
  
      SECNDS
     
    
       SIND
     
    
       SIZEOF
     
    
       SNGLQ
     
  
     
  
      TAND
     
    
       TIME
     
    
       TRAILZ
     
    
       XOR
     
  
     
  
      ZABS
     
    
       ZCOS
     
    
       ZEXP
     
    
       ZEXT
     
  
     
      ZLOG
     
    
       ZSIN
     
    
       ZSQRT
     
    
       
     
  
The argument KIND is an extension available in the following intrinsic procedures (see Chapter 9):
| COUNT | LEN_TRIM | SHAPE | ZEXT | 
| INDEX | MAXLOC | SIZE | |
| LBOUND | MINLOC | UBOUND | |
| LEN | SCAN | VERIFY | 
See Appendix B for additional language extensions that facilitate compatibility with other versions of Fortran.
This glossary contains terms that are commonly used in this manual and 
in the HP Fortran for OpenVMS User Manual. The terms and descriptions are informative and 
are not part of the standard definition of the Fortran 95/90 
programming language.
actual argument: A value (a variable, expression, or 
procedure) passed from a calling program unit to a subprogram.
adjustable array: An explicit-shape array that is a 
dummy argument to a subprogram. The term is from FORTRAN 77. See 
also explicit-shape array.
aggregate reference: A reference to a record structure 
field.
allocatable array: A named array that has the 
ALLOCATABLE attribute. Once space has been allocated for this type of 
array, the array has a shape and can be defined (and redefined) or 
referenced. (It is an error to allocate an allocatable array that is 
currently allocated.)
alphanumeric: Pertaining to letters and digits.
alternate key: An optional key within the data records 
in an indexed file, which can be used to build an alternate index.
alternate return: A subroutine argument that permits 
control to branch immediately to some position other than the statement 
following the call. The actual argument in an alternate return is the 
statement label to which control should be transferred.
ANSI: The American National Standards Institute. An 
organization through which accredited organizations create and maintain 
voluntary industry standards.
argument: See actual 
argument and dummy argument.
argument association: The relationship (or 
"matching up") between an actual argument and dummy argument 
during the execution of a procedure reference.
argument keyword: The name of a dummy (formal) argument. The name is used in a subprogram (routine) definition. It can also be used when the subprogram is invoked to associate dummy arguments with actual arguments, so that they can appear in any order.
Argument keywords are supplied for many of the intrinsic procedures.
array: A set of scalar data that all have the same 
type and kind parameters. An array can be referenced by element (using 
a subscript), by section (using a section subscript list), or as a 
whole. An array has a rank (up to 7), bounds, size, and a shape. 
Contrast with scalar. See also 
bounds, conformable, 
shape, and size.
array constructor: A mechanism used to specify a sequence of scalar values that produce a rank-one array.
To construct an array of rank greater than one, you must apply the 
RESHAPE intrinsic function to the array constructor.
array element: A scalar item in an array. An array 
element is identified by the array name followed by one or more 
subscripts in parentheses, indicating the element's position in the 
array. For example,
B(3)
 or
A(2,5)
.
array pointer: A pointer to an array. See 
also array and pointer.
array section: A subobject (or portion) of an array. 
It consists of the set of array elements or substrings of this set. The 
set (or section subscript list) is specified by subscripts, subscript 
triplets, and vector subscripts. If the set does not contain at least 
one subscript triplet or vector subscript, the reference indicates an 
array element, not an array.
array specification: A program statement specifying an 
array name and the number of dimensions the array contains (its rank). 
An array specification can appear in a DIMENSION or COMMON statement, 
or in a type declaration statement.
ASCII: The American Standard Code for Information 
Interchange. A 7-bit character encoding scheme associating an integer 
from 0 through 127 with 128 characters. See also 
multinational character set.
assignment statement: Usually, a statement that 
assigns (stores) the value of an expression on the right of an equal 
sign to the storage location of the variable to the left of the equal 
sign. In the case of Fortran 95/90 pointers, the storage location is 
assigned, not the pointer itself.
association: The relationship that allows an entity to 
be referenced by different names in one scoping unit or by the same or 
different names in more than one scoping unit. The principal kinds of 
association are argument association, host association, pointer 
association, storage association, and use association. See 
also argument association, host 
association, pointer association, 
storage association, and use 
association.
assumed-length character argument: A dummy argument 
that assumes the length attribute of the corresponding actual argument. 
An asterisk (*) specifies the length of the dummy character argument.
assumed-shape array: A dummy argument array that 
assumes the shape of its associated actual argument array.
assumed-size array: A dummy array whose size (only) is 
assumed from its associated actual argument. The upper bound of its 
last dimension is specified by an asterisk (*). All other extents (if 
any) must be specified.
attribute: A property of a data object that can be specified in a type declaration statement. These properties determine how the data object can be used in a program.
Most attributes can be alternatively specified in statements. For 
example, the DIMENSION statement has the same meaning as the DIMENSION 
attribute appearing in a type declaration statement.
automatic array: Is an explicit-shape array that is a 
local variable in a subprogram. It is not a dummy argument, and has 
bounds that are nonconstant specification expressions. The bounds (and 
shape) are determined at entry to the procedure by evaluating the 
bounds expressions. See also automatic object.
automatic object: A local data object that is created upon entry to a subprogram and disappears when the execution of the subprogram is completed. There are two kinds of automatic objects: arrays (of any data type) and objects of type CHARACTER. Automatic objects cannot be saved or initialized.
An automatic object is not a dummy argument, but is declared with a 
specification expression that is not a constant expression. The 
specification expression can be the bounds of the array or the length 
of the character object.
batch process: A process that runs without user 
interaction. Contrast with interactive 
process.
big endian:
A method of data storage in which the least significant bit of a 
numeric value spanning multiple bytes is in the highest addressed byte. 
Contrast with little endian.
binary constant: A constant that is a string of binary 
(base 2) digits (0 or 1) enclosed by apostrophes or quotation marks and 
preceded by the letter B.
binary operator: An operator that acts on a pair of 
operands. The exponentiation, multiplication, division, and 
concatenation operators are binary operators.
bit constant:
A constant that is a binary, octal, or hexadecimal number.
bit field: A contiguous group of bits within a binary 
pattern; they are specified by a starting bit position and length. The 
functions IBSET, IBCLR, BTEST, and IBITS, and the subroutine MVBITS 
operate on bit fields.
blank common: A common block (one or more contiguous 
areas of storage) without a name. Common blocks are defined by a COMMON 
statement.
block:
In general, a group of related items treated as a physical unit. For 
example, a block can be a group of constructs or statements that 
perform a task; the task can be executed once, repeatedly, or not at 
all.
block data program unit: A program unit, containing a 
BLOCK DATA statement and its associated specification statements, that 
establishes common blocks and assigns initial values to the variables 
in named common blocks. In FORTRAN 77, this was called a block data 
subprogram.
bottleneck: The slowest process in an executing 
program. This process determines the maximum speed of execution.
bounds: The range of subscript values for elements of an array. The lower bound is the smallest subscript value in a dimension, and the upper bound is the largest subscript value in that dimension. Array bounds can be positive, zero, or negative.
These bounds are specified in an array specification. See also 
array specification.
breakpoint: A critical point in a program, at which 
execution is stopped so that you can see if the program variables 
contain the correct values. Breakpoints are often used to debug 
programs.
built-in procedure: See intrinsic 
procedure.
carriage-control character: A character in the first 
position of a printed record that determines the vertical spacing of 
the output line.
character constant: A constant that is a string of 
printable ASCII characters enclosed by apostrophes (') or quotation 
marks (").
character expression: A character constant, variable, 
function value, or another constant expression, separated by a 
concatenation operator (//); for example,
DAY//' FIRST'
.
character storage unit: The unit of storage for 
holding a scalar value of default character type (and character length 
one) that is not a pointer. One character storage unit corresponds to 
one byte of memory.
character string: A sequence of contiguous characters; 
a character data value. See also character 
constant.
character substring: One or more contiguous characters 
in a character string.
| Previous | Next | Contents | Index |