In mathematics, an operator is a symbol that expresses the operation to be performed. In LSL, operators perform simple “common-sense” operations on values. The assignment operators are special in that the left hand side of the operation must be a variable.
Operator Types | Description | Examples |
Unary | Operators that act on one value | ++, –, ~, ! |
Binary | Operators that act on two values. | +, -, *, /, %, +=, -=, *=, /=, %=, &&, ||, !, ==, !=, <=, <, >=, > |
Boolean | Operators that work with TRUE and FALSE values. | &&, ||, !, ==, !=, <=, <, >=, > |
Bitwise | Operators that work with bitfields | &, |, ~, ^, <<, >> |
Assignment | Special operators that assign a value to a variable. | =, +=, -=, *=, /=, %= |
All operators in order of execution or precedence, from high to low:
Operation | Description |
() [] . | Parentheses, Square Brackets and Dot Operator |
! ~ ++ -- | NOT, One's Complement, Increment, Decrement |
* / % | Multiply, Divide, Modulus (% is also Vector Cross) |
+ - | Addition and Subtraction |
<< >> | Left Shift, Right Shift |
< <= > >= | Less Than, Less Than Or Equal To, Greater Than, Greater Than or Equal To |
== != | Comparison Equal, Comparison Not Equal |
& | Bitwise AND |
^ | Bitwise XOR |
| | Bitwise OR |
|| | Comparison OR |
&& | Comparison AND |
= += -= *= /= %= | Assignment |
Credit to: Lslwiki.net (not working) with changes made for brevity and clarity.