HOME GUIDE OPERATIONS DOCS FAQ TECHNIQUES FORMATS INSTALL NEW TIPS WEB LINKS Wadsworth Labs

IF_THEN - Conditional execution of operations (Scripting operation)

(09/16/06)

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'.

SEE ALSO

ELSEIF_THEN [Conditional execution of operations (Scripting operation)]
ELSE [Conditional execution of operations (Scripting operation)]
IF [Conditional expression execution (Scripting operation)]
IF_GOTO [Conditional jump (Scripting operation)]

USAGE

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

Where:

  1. <EXP> is an expression
  2. <LC> is a logical comparator. The following comparators are allowed:
  3. EQ    Equal
    NE    Not equal
    GT    Greater
    GE    Greater/equal
    LT    Less
    LE    Less/equal

NOTES

  1. EXAMPLES:
    IF([ysize].GE.15) THEN
    AC
    input001
    output001
    ENDIF

    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. The operation 'ELSEIF' was not available prior to SPIDER release 15.0.

  6. Implemented by: ArDean Leith

SUBROUTINES

LOGIFQ

CALLER

SPIDER

© Copyright Notice /       Enquiries: spider@wadsworth.org