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 won’t 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