Precedence of rule operators

The precedence of operators affects the grouping and evaluation of expressions. Expressions with higher-precedence operators are evaluated first. Where several operators have equal precedence, they are evaluated from left to right. The following table summarizes Corticon's operator precedence.

Operator precedence

Operator

Operator Name

Example

1

( )

Parenthetic expression

(5.5 / 10)

2

-

Unary negative

-10

not

Boolean test

not 10

3

*

Arithmetic: Multiplication

5.5 * 10

/

Arithmetic: Division

5.5 / 10

**

Arithmetic: Exponentiation (Powers and Roots)

5 ** 2

25 ** 0.5

125 ** (1.0/3.0)

4

+

Arithmetic: Addition

5.5 + 10

-

Arithmetic: Subtraction

10.0 – 5.5

5

<

Relational: Less Than

5.5 < 10

<=

Relational: Less Than Or Equal To

5.5 <= 5.5

>

Relational: Greater Than

10 > 5.5

>=

Relational: Greater Than Or Equal To

10 >= 10

=

Relational: Equal

5.5=5.5

<>

Relational: Not Equal

5.5 <> 10

6

(expression, expression)

Logical: AND

(>5.5,<10)

(expression or expression)

Logical: OR

(<5.5 or >10)

Note: While expressions within parentheses that are separated by logical AND / OR operators are valid, the component expressions are not evaluated individually when testing for completeness, and might cause unintended side effects during rule execution. Best practice within a Corticon Rulesheet is to represent AND conditions as separate condition rows and OR conditions as separate rules -- doing so allows you to get the full benefit of Corticon’s logical analysis.

Note: It is recommended that you place arithmetic exponentiation expressions in parentheses.