HELPLIB.HLB  —  FORTRAN  Statements  IF
  Conditionally transfers control or executes a statement or block of
  statements.

  For each type of IF statement, the decision to transfer control or
  to execute the statement or block of statements is based on the
  evaluation of an expression within the IF statement.

1  –  Arithmetic

  Conditionally transfers control to one of three statements, based
  on the current value of an arithmetic expression.  Statement
  format:

     IF (e) s1,s2,s3

     e         Is an arithmetic expression.

     s1,s2,s3  Are labels of executable statements in the same
               program unit.  All three labels are required,
               but they need not refer to different statements.

  Executes the statement at the first label ("s1") if the arithmetic
  expression evaluates to a value less than 0; the statement at the
  second label ("s2") if the arithmetic expression evaluates to 0; or
  the statement at the third label ("s3") if the arithmetic
  expression evaluates to a value greater than 0.

                                 NOTE

          The  arithmetic  IF  statement  is  an  obsolescent
          feature  in  Fortran  95  and  Fortran  90.  HP
          Fortran fully supports this feature.

2  –  Logical

  Executes the statement if the logical expression is true.  In
  Fortran 95/90, this is called an IF statement (as compared to block
  IFs, which are called IF constructs).  Statement format:

     IF (e) st

     e   Is a logical expression.

     st  Is a complete Fortran statement. The statement can
         be any statement except DO, END DO, END, block IF,
         CASE, FORALL, or WHERE constructs, or another logical
         IF statement.

3  –  Block

  Executes a block of statements if the logical expression is true.
  The block of statements starts immediately following the IF
  statement.  The block of statements can be followed by optional
  ELSE IF statements (any number) and one optional ELSE statement.
  The entire block IF construct must be terminated by an END IF
  statement.  Format:

     [name:] IF (e) THEN
       block
     [ELSE IF (e1) THEN [name]
       block]...
     [ELSE [name]
       block]
     END IF [name]

     name   Is the name of the IF construct.

     e,e1   Are logical expressions.

     block  Is a series of zero or more Fortran statements
            (called a statement block).

  If a construct name is specified in a block IF statement, the same
  name must appear in the terminal END IF statement.  If no construct
  name is specified in the block IF statement, no name can appear in
  the terminal END IF statement.  The construct name must be a unique
  identifier in the program unit.

                                 NOTE

          No additional statement can be placed after the  IF
          THEN  statement  in  a  block  IF  construct.   For
          example, the following statement is invalid in  the
          block IF construct:

             IF (e) THEN I = J

          This  statement  is  translated  as  the  following
          logical IF statement:

             IF (e) THENI = J
Close Help