ELSEIF_THEN - Conditional execution of operations (Scripting operation)

(11/16/11)

PURPOSE

Allow conditional execution of sections of the SPIDER operation stream, depending on the logical value of an expression. Modeled after the 'FORTRAN IF...ELSEIF...ELSE...ENDIF' syntax.   Example.

SEE ALSO

IF_THEN [Conditional execution of operations (Scripting operation)]
ELSE [Conditional execution of operations (Scripting operation)]

USAGE

.OPERATION: IF( <EXP> <LC> <EXP> ) THEN
~~~~~~~
~~~~~~~
ELSEIF( <EXP> <LC> <EXP> ) THEN
~~~~~~~
~~~~~~~
ENDIF

Where:

  1. <EXP> is an expression
  2. <R> is a register variable.
  3. <LC> is a logical comparator. The following comparators are allowed:
  4. Comparator Alternate Comparision
    .EQ. == Equal to
    .NE. /= Not equal to
    .GT. > Greater than
    .GE. >= Greater than or equal to
    .LT. < Less than
    .LE. <= Less than or equal to

NOTES

  1. EXAMPLE:
    IF ([ysize] .LT. 15) THEN
    AC
    input001
    output001
    ELSEIF ([ysize] .LT. 150) THEN
    AC
    input001
    output002
    ELSE
    AC
    input001
    output003
    ENDIF

  2. Nesting of: IF_THEN..ELSE...ENDIF is limited to MAXPRC levels. See: 'CMLIMIT.INC for current value of MAXPRC.

  3. For every 'IF_THEN' there must be a closing ENDIF!

  4. There is NO '.AND.' comparator.

  5. This operation available in SPIDER release 15.++.

  6. Implemented by: A. Leith

SUBROUTINES

LOGIFQ

CALLER

SPIDER