Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP Fortran Compiler for HP-UX: HP Fortran Programmer's Reference > Chapter 10 HP Fortran statements

COMPLEX

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Glossary

 » Index

Declares entities of type complex.

Syntax

COMPLEX [kind-spec] [[, attrib-list] ::] entity-list
kind-spec

is the kind type parameter that specifies the range and precision of the entities in entity-list. kind-spec takes the form:

([KIND=]kind-param)

where kind-param represents the kind of both the real and imaginary parts of the complex number. It can be a named constant or a constant expression that has the integer value of 4 or 8. The size of the default type is 4.

As an extension, kind-spec can take the form:

*len-param

where len-param is the integer 8 or 16 (default = 8), which represents the size of the whole complex entity.

attrib-list

is a list of one or more of the following attributes, separated by commas:

Table 10-6 Title not available (COMPLEX)

ALLOCATABLE

INTRINSIC

PRIVATE

DIMENSION

OPTIONAL

PUBLIC

EXTERNAL

PARAMETER

SAVE

INTENT

POINTER

TARGET

 

If attrib-list is present, it must be followed by the double colon. For information about individual attributes, see the corresponding statement in this chapter.

entity-list

is a list of entities, separated by commas. Each entity takes the form:

name [( array-spec )] [= initialization-expr]

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:

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© Hewlett-Packard Development Company, L.P.