Next: Discussion of the
Up: Subset High Performance
Previous: Subset High Performance
The items listed here are the features of the HPF subset
language. For reference, the section numbers from the
Fortran 90 standard are given along with the related
syntax rule numbers:
- All FORTRAN 77 standard conforming features,
except for storage and sequence association.
(See Section for detailed discussion of the exception.)
- The Fortran 90 definitions of MIL-STD-1753 features:
- DO WHILE statement (8.1.4.1.1 / R821)
- END DO statement (8.1.4.1.1 / R825)
- IMPLICIT NONE statement (5.3 / R540)
- INCLUDE line (3.4)
- scalar bit manipulation intrinsic procedures:
IOR, IAND, NOT, IEOR, ISHFT, ISHFTC,
BTEST, IBSET, IBCLR, IBITS, MVBITS (13.13)
- binary, octal and hexadecimal constants for use
in DATA statements (4.3.1.1 / R407 and 5.2.9 / R533)
Arithmetic and logical array features:
- array sections (6.2.2.3 / R618-621)
- subscript triplet notation (6.2.2.3.1)
- vector-valued subscripts (6.2.2.3.2)
- array constructors limited to one level of implied
DO (4.5 / R431)
- arithmetic and logical operations on whole arrays and
array sections (2.4.3, 2.4.5, and 7.1)
- array assignment (2.4.5, 7.5, 7.5.1.4, and 7.5.1.5)
- masked array assignment (7.5.3)
- WHERE statement (7.5.3 / R738)
- block WHERE . . . ELSEWHERE construct (7.5.3 / R739)
- array-valued external functions (12.5.2.2)
- automatic arrays (5.1.2.4.1)
- ALLOCATABLE arrays and the ALLOCATE and
DEALLOCATE statements
(5.1.2.4.3, 6.3.1 / R622, and 6.3.3 / R631)
- assumed-shape arrays (5.1.2.4.2 / R516)
Intrinsic procedures:
The list of intrinsic functions and subroutines below is a combination
of (a) routines which are entirely new to Fortran and (b) routines that have
always been part of Fortran, but now have been extended to new argument
and result types. The new or extended definitions of these routines
are part of the subset. If a FORTRAN 77 routine is not included in this
list, then only the original FORTRAN 77 definition is part of the
subset.
For all of the intrinsics that have an optional argument DIM,
only actual argument expressions for DIM that are initialization
expressions and hence deliver a known shape at compile time are part of
the subset. The intrinsics with this constraint are marked with in
the list below.
- the argument presence inquiry function:
PRESENT (13.10.1)
- all the numeric elemental functions:
ABS, AIMAG, AINT, ANINT, CEILING,
CMPLX, CONJG, DBLE, DIM, DPROD,
FLOOR, INT, MAX, MIN, MOD, MODULO, NINT, REAL, SIGN (13.10.2)
- all mathematical elemental functions:
ACOS, ASIN, ATAN, ATAN2, COS, COSH, EXP, LOG, LOG10, SIN, SINH,
SQRT, TAN, TANH (13.10.3)
- all the bit manipulation elemental functions :
BTEST, IAND, IBCLR, IBITS, IBSET,
IEOR, IOR, ISHFT, ISHFTC, NOT
(13.10.10)
- all the vector and matrix multiply functions:
DOT_PRODUCT, MATMUL (13.10.13)
- all the array reduction functions:
ALL, ANY, COUNT, MAXVAL, MINVAL, PRODUCT, SUM (13.10.14)
- all the array inquiry functions: ALLOCATED, LBOUND, SHAPE, SIZE, UBOUND (13.10.15)
- all the array construction functions:
MERGE, PACK, SPREAD, UNPACK
(13.10.16)
- the array reshape function:
RESHAPE (13.10.17)
- all the array manipulation functions:
CSHIFT, EOSHIFT, TRANSPOSE
(13.10.18)
- all array location functions:
MAXLOC, MINLOC (13.10.19)
- all intrinsic subroutines:
DATE_AND_TIME, MVBITS, RANDOM_NUMBER, RANDOM_SEED, SYSTEM_CLOCK (3.11)
Declarations:
- Type declaration statements, with all forms of type-spec
except kind-selector and TYPE(type-name), and all forms
of attr-spec except access-spec, TARGET, and POINTER. (5.1 / R501-503, R510)
- attribute specification statements:
ALLOCATABLE, INTENT, OPTIONAL, PARAMETER,
SAVE (5.2)
Procedure features:
Syntax improvements:
- long (31 character) names (3.2.2)
- lower case letters (3.1.7)
- use of ``_'' in names (3.1.3)
- ``!'' initiated comments, both full line and trailing
(3.3.2.1)
Next: Discussion of the
Up: Subset High Performance
Previous: Subset High Performance