By using different types of operations in one expression, expression result data type is implicitly converted to the expected type of the operand of the next operation. The result will be real if it is saved in a variable or transferred as a function parameter, or strictly logical if it is used in a conditional operator.

The following rule applies when converting real type into logical type: 

if the element is not zero, then the result is true, otherwise – false. 

The following rule applies in reverse conversion:

if true, the result is 1.0, if false, the result is 0.0.