Microsoft KB Archive/39068

From BetaArchive Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Article ID: 39068

Article Last Modified on 12/1/2003



APPLIES TO

  • Microsoft FORTRAN Compiler 4.01
  • Microsoft FORTRAN Compiler 4.1
  • Microsoft FORTRAN Compiler 5.0
  • Microsoft FORTRAN Compiler 5.1
  • Microsoft FORTRAN Compiler 4.1
  • Microsoft FORTRAN Compiler 5.0
  • Microsoft FORTRAN Compiler 5.1
  • Microsoft FORTRAN PowerStation 1.0 Standard Edition
  • Microsoft Fortran PowerStation 1.0a for MS-DOS
  • Microsoft FORTRAN PowerStation 32
  • Microsoft FORTRAN PowerStation 32



This article was previously published under Q39068

SYMPTOMS

An attempt to compile an application developed in Microsoft FORTRAN fails with the following error message:

Error F2112 : I : not symbolic constant.

With Microsoft FORTRAN PowerStation 32, version 4.0, this generates:

error FOR3083: invalid real part of COMPLEX constant

CAUSE

A FORTRAN application cannot directly manipulate complex number variables.

RESOLUTION

Use the CMPLX intrinsic function to manipulate the variable, as follows:

   Z = CMPLX(I, 1.2)
                

MORE INFORMATION

On Page 24, the Microsoft FORTRAN "Language Reference and Mixed-Language Programmer's Guide" for version 4.1 describes the complex data types as follows:

   The COMPLEX or COMPLEX*8 data type is an ordered pair of single-
   precision real numbers. COMPLEX*16 data type is an ordered pair of
   double-precision real numbers. The first number in the pair represents
   the real part of a complex number, and the second number represents the
   imaginary part.
                

For example, the complex number (7, 3.2) represents the number 7.0+3.2i.

The following code example demonstrates this error message.

Sample Code

C Compiler options required: None

      COMPLEX*8 Z
      REAL*4 I
      Z = (I, 1.2)
      END
                


Additional query words: 1.00 4.00 4.01 4.10 5.00 5.10

Keywords: kberrmsg kblangfortran KB39068