MPE/iX - CI Programming for Stability

July 18, 2008 HP World '01 26
The CI evaluates the minimal amount of a Boolean expression needed
to determine the end result. For example:
if true or x # “x” side not evaluated
if false and x # “x” side not evaluated
if bound(z) and z > 1 then# if “z” not defined it wont be referenced
Partial evaluation can cause some mysterious results
CI scripts may run differently in an MPEX environment since (last I heard) MPEX does
not support partial evaluation. In this case break up complex expressions.
:calc FALSE and pinfo( 0, xyz) = 0 returns FALSE, no error
:calc FALSE and pinfo( 0, exists) = 0 gets an error *
:calc FALSE and setvar( x, true ) X not set
:calc FALSE and setvar( x, 1 ) get an error *
* A non-boolean expression was found. (CIERR 9940)
Partial expression evaluation