
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. 
