HP Fortran Programmer's Reference (September 2007)

HP Fortran statements
COMPLEX
Chapter 10306
where
name
is the name of a variable or function,
array-spec
is a
comma-separated list of dimension bounds, and
initialization-expr
is a
complex constant expression. If
initialization-expr
is present,
entity-list
must be preceded by the double colon.
Description
The COMPLEX statement is used to declare the length and properties of data that are
approximations to the mathematical complex numbers. A complex number consists of a real
part and an imaginary part. A kind parameter (if specified) indicates the representation
method.
The COMPLEX statement is constrained by the rules for type declaration statements, including
the requirement that it precede all executable statements.
As a portability extension, HP Fortran allows the following syntax for specifying the length of
an entity:
name
[*
len
] [ (
array-spec
)] [=
initialization-expr
]
If
array-spec
is specified, *
len
may appear on either side of
array-spec
. If
name
appears
with *
len
, it overrides the length specified by
kind-spec
.
Examples
The following are valid declarations:
COMPLEX x, y
COMPLEX(KIND=8) :: z
COMPLEX,PARAMETER :: t1(2)=(/(3.2, 0), (.04, -1.1)/)
! initialize an array, using an array constructor
COMPLEX, DIMENSION(2) :: &
cvec=(/(2.294, 6.288E-2), (-1.0096E7, 0)/)
! use slashes as initialization delimiters, an HP extension
COMPLEX cx/(2.294, 6.288E-2)/ ! note, no double colon
! the following declarations are equivalent; the second uses the
! HP length specification extension
COMPLEX(KIND = 8) x
COMPLEX(8) x*16
Related statements
DOUBLE COMPLEX
Related concepts
For related information, see the following:
“Type declaration for intrinsic types” on page 109