IFT

Member Of Menu: 
Branch
Argument Types: 
Any
Real
Result Type(s): 
None
Invertible: 
No
Valid In Expression: 
No
Stack Diagram: 
Real1 Item2

The IFT operation is an alternative to the IF operation. In this form, IFT pops two values off the stack. The real value is tested to see if it is non-zero. If it is non-zero, then the item popped off the top of the stack is evaluated. If the item is not an expression or program, then the item is just pushed back onto the stack. If the item is an expression or program, it is executed which may result in one or more items being pushed onto the stack or any number of things happening.

This would often be used like this:

≪ ... PushSomeCondition ≪ ExecuteIfTrue ≫ IFT ... ≫

In this case "PushSomeCondition" is one or more operations which result in a real value being pushed onto the stack. These operations may contain logical comparisons like ==. After that, a program is pushed onto the stack which itself calls "ExecuteIfTrue" in this example. When IFT is executed, the program and real value are popped and the program is executed if the real value is non-zero.