B.1.Operator Precedence
| Operator |
Order |
| ( |
left |
| NOT |
right |
| * / |
left |
| + - |
left |
| <<=> >= |
left |
| = != <> |
left |
| AND |
left |
| OR |
left |

In the operator precedence table, operators at the same
level have the same precedence. Operators at the top of
the table have the highest precedence. In other words, in
expressions with no parenthesizes, these operations would
be performed first before a operator with lower
precedence.
Order determines whether an operation is performed left
to right or right to left.
B.2
Operand Types
There are 4 types of
operands in PaleoVu - Float, Long, Variable, and Boolean.
Mixing these types and certain operations can produce
valid results or errors. Following is a list of tables
indicating operator, operand types and resulting value
types.

Operators +, -, *

| Left Operand |
Right Operand |
 |
Long |
Float |
Variable |
Boolean |
| Long |
Long |
Float |
Variable |
Boolean/False
a |
| Float |
Float |
Float |
Variable |
Boolean/False |
| Variable |
Variable |
Variable |
Error |
Boolean/False |
| Boolean |
Boolean/False |
Boolean/False |
Boolean/False |
Boolean/False |

a. Where Boolean return types have a value, it does not
matter what the operand values are, this is the value
that is returned.

Operators / a

| Left Operand |
Right Operand |
 |
Long |
Float |
Variable |
Boolean |
| Long |
Long |
Float |
Error |
Boolean/False
b |
| Float |
Float |
Float |
Error |
Boolean/False |
| Variable |
Variable |
Variable |
Error |
Boolean/False |
| Boolean |
Boolean/False |
Boolean/False |
Boolean/False |
Boolean/False |

a. Divide by 0 errors are returned as an error.

b. Where Boolean return types have a value, it does not
matter what the operand values are, this is the value
that is returned.

Operators OR, AND

| Left Operand |
Right Operand |
 |
Long |
Float |
Variable |
Boolean |
| Long |
Boolean/True
a |
Boolean/True |
Boolean/True |
Boolean/Right
b |
| Float |
Boolean/True |
Boolean/True |
Boolean/True |
Boolean/Right |
| Variable |
Boolean/True |
Boolean/True |
Boolean/True |
Boolean/Right |
| Boolean |
Boolean/Left |
Boolean/Left |
Boolean/Left |
Boolean |

a. Where Boolean return types have a value , it does not
matter what the operand values are, this is the value
that is returned.

b. When Left of Right are indicated for a Boolean value,
the value of the left or right operand is returned
regardless of the other operand value.

Operator =, <>

| Left Operand |
Right Operand |
 |
Long |
Float |
Variable |
Boolean |
| Long |
Boolean |
Boolean |
Boolean |
Boolean/False
a |
| Float |
Boolean |
Boolean |
Boolean |
Boolean/False |
| Variable |
Boolean |
Boolean |
Error |
Boolean/False |
| Boolean |
Boolean/False |
Boolean/False |
Boolean/False |
Boolean |

a. Where Boolean return types have a value, it does not
matter what the operand values are, this is the value
that is returned.

Operators <, <=",">, >=

| Left Operand |
Right Operand |
 |
Long |
Float |
Variable |
Boolean |
| Long |
Boolean |
Boolean |
Boolean |
Boolean/False
a |
| Float |
Boolean |
Boolean |
Boolean |
Boolean/False |
| Variable |
Boolean |
Boolean |
Boolean |
Boolean/False |
| Boolean |
Boolean/False |
Boolean/False |
Boolean/False |
Boolean/False |

a. Where Boolean return types have a value, it does not
matter what the operand values are, this is the value
that is returned.

Operator - (unary)

| Left Operand |
Return Type |
| Long |
Long |
| Float |
Float |
| Variable |
Variable |
| Boolean |
Boolean/False |

a. Where Boolean return types have a value, it does not
matter what the operand values are, this is the value
that is returned.
|