The arithmetic assignment statement assigns a value to a variable, array element, or record field. The syntax is:
v = e |
|
e |
Arithmetic expression, a character constant, or a logical expression |
v |
Numeric variable, array element, or record field |
Assigning logicals to numerics is allowed, but nonstandard, and may not be portable. The resultant data type is, of course, the data type of v. @
Execution of an arithmetic assignment statement causes the evaluation of the expression e, and conversion to the type of v (if types differ), and assignment of v with the resulting value typed according to the table below.
Character constants can be assigned to variables of type integer or real. Such a constant can be a Hollerith constant or a string in apostrophes or quotes. The characters are transferred to the variables without any conversion of data. This practice is nonstandard and may not be portable. @
Type of v |
Conversion of e |
---|---|
INTEGER*2, INTEGER*4, or INTEGER*8 REAL REAL*8 REAL*16 (SPARC only) DOUBLE PRECISION COMPLEX*8 COMPLEX*16 COMPLEX*32 (SPARC only) |
INT(e) REAL(e) DBLE(e) QREAL(e) (SPARC only) DBLE(e) CMPLX(e) DCMPLX(e) QCMPLX(e) (SPARC only) |
Compiling with any of the options -i2, -dbl, -r8, or -xtypemap will have an effect on the assumed type of e. This is discussed in Chapter 2. See also the Fortran User's Guide for a description of these options.
Example: Arithmetic assignment:
INTEGER I2*2, J2*2, I4*4 LOGICAL L1, L2 REAL R4*4, R16*16 DOUBLE PRECISION DP COMPLEX C8, C16*16 J2 = 29002 I2 = J2 I4 = (I2 * 2) + 1 DP = 6.4D0 QP = 9.8Q1 R4 = DP R16 = QP C8 = R1 C8 = ( 3.0, 5.0 ) I2 = C8 C16 = C8 C8 = L1 R4 = L2