Expressions

An expression is an arithmetical operation that delivers a result, which can then be assigned to a variable or object parameter. The arithmetic expression may be composed of any numbers, further variables or object parameters, function calls, brackets, and arithmetic operators.

The following operators are available in expressions:
= Assigns the result right of the '=' to the variable left of the '='.
+-*/ The usual mathematical operators. * and / have a higher priority than + and -.
% Modulo operator, the integer remainder of a division.
| Bitwise OR, can be used to set certains bits in a variable.
^ Bitwise exclusive OR, can be used to toggle certain bits in a variable.
~  LC  Bitwise invert, toggles all bits of a variable.
& Bitwise AND, can be used to reset certains bits in a variable.
>> Bitwise right shift, can be used to divide a positive integer value by 2.
<< Bitwise left shift, can be used to multiply a positive integer value by 2.
() Brackets, for defining the priority of mathematical operations. Always use brackets when priority matters!

Examples:

x = (a + 1) * b / c;
z = 10;
x = x >> 2; // divides x by 4
x = x << 3; // multiplies x by 8
x = fraction(x) << 10; // copies the fractional part of x (10 bits) into the integer part
my.tilt = asin(3*x + 0.5);
my.z += 2; // increase the entities' Z position by 2 quants
my.z += 2*time_step; // move Z by a time-corrected speed
my.event = react_function; // Sets the entities' event function
on_s = save_function; // Assigns a function to the [S] key

Assignment operators

The "="-character can be combined with the basic operators:

+= Adds the result right of the operator to the variable left of the operator.
-= Subtracts the result right of the operator from the variable left of the operator.
*= Multiplies the variable left of the operator by the result right of the operator.
/= Divides the variable left of the operator by the result right of the operator.
%=  LC  Sets the variable left of the operator to the remainder of the division by the result right of the operator.
|=  LC  Bitwise OR's the the result right of the operator and the variable left of the operator.
&=  LC  Bitwise AND's the the result right of the operator and the variable left of the operator.
^=  LC  Bitwise excöusive OR's the the result right of the operator and the variable left of the operator.
>>=  LC  Bitwise right shift the variable left of the operator by the result right of the operator.
<<=  LC  Bitwise left shift the variable left of the operator by the result right of the operator.

Increment and decrement operators

 LC  By placing a '++' at the end of a variable, 1 is added; by placing a '--', 1 is subtracted. This is a convenient shortcut for counting a variable up or down.

Examples:

x = x + 1; // add 1 to x
x += 1; // add 1 to x
x++; // add 1 to x (lite-C only)

Remarks:

See also:

Functions, Variables, Pointers, Comparisons

 

► latest version online