Object property access operator.
Indirection operator.
New operator createas a new object instance from the template specified by name atom.Database objects created with new are considered dynamic database objects: assigned replica id is never 0.REFERENCES is returned when template_name is of type ATOMS.
Assignment.
Assign into / overwrite. Equivalent to [ a ] = b
Defines execution precedence.Function call delimiter.Switch expression delimiter.
Const vector delimiter.
Const list delimiter. Explicit type cast delimiter.
Const vector separator. Const list separator. Explicit type cast separator. Function parameter separator. Switch expression separator.
Comma operator (a is executed first, the result is b) .
Negative a.List operator.
Equivalent to: a = a + b List operator.
Equivalent to: a = a - b List operator.
Equivalent to: a = a * b List operator.
Equivalent to: a = a /= b List operator.
Equivalent to: a = a % b List operator.
Subtraction. Result is always of the same type as operand a. List operator.
Addition. Result is always of the same type as operand a. List operator.
Multiplication. Result is always of the same type as operand a. List operator.
Division. Result is always of the same type as operand a. List operator.
Modulo. Result is always of the same type as operand a. List operator.
Length of a vector or float list. List operator for vector lists.
Square length of a vector or float list. List operator for vector lists.
Absolute value of a .List operator.
List operator.
Converts angle a to -180 .. 180 degrees range. List operator.
List operator.
Vector dot multiplication (3d). List operator.
Vector dot multiplication (4d or more for FLOATS) List operator for vector lists.
Vector cross multiplication. List operator.
Logical not. Result is always INTEGER 0 or 1.
Logical and. Result is always INTEGER 0 or 1.
Logical nand. Result is always INTEGER 0 or 1.
Logical or. Result is always INTEGER 0 or 1.
Logical xor. Result is always INTEGER 0 or 1.
Logical evaluation. Result is INTEGER or INTEGERS. -1 = true, 0 = false (suitable for binary operations)
Evaluate a, if TRUE evaluate and return b, if FALSE return a.
Evaluate a, if TRUE return a, if FALSE evaluate and return b.
When a is single token type: if FLOAT { a } <= FLOAT { b } : return reference to a, else: return reference to b. When a is list: return a new list c, where c[i] = a[i] min b[i].
When a is single token type: if FLOAT { a } >= FLOAT { b } : return reference to a, else: return reference to b. When a is list: return a new list c, where c[i] = a[i] max b[i].
Remove duplicates from list. Preserves order of items.
Cross-section between lists a and b. Duplicate items as in list a will not be removed. Preserves order of items as in list a.
Remove list b from list a. Duplicate items as in list a will not be removed. Preserves order of items as in list a.
Union of lists. All duplicate items will be removed.
Return index of first min element in list.
Return index of first max element in list.
Number of elements in list. When a is REFERENCE, number of properties on database object.
Flip/revert list.
Find first item in list - return index or 0. List operator.
Find first non-matching item in list - return index or 0 If a is a list, index to the first item in b that does not match any item in a, is returned.
Faster equivalent to ((b in a) <> 0).
Faster equivalent to ((b in a) == 0).
Append two items/lists into a new list.
List operator. Nul is returned when index is out of range. If index is a single token type (integer), a reference to list item is returned (ie: a[x] = ...) If index is a list (of integers), a new (remapped) list is returned. Works for vectors (only when index is single token type) 1-based indexes (a[1] == a|x, a[2] == a|y ...).
Equivalent (but faster) to ARRAY{list}[index]
Equivalent (but faster) to list[count list].
Range: generate a list of integers { a, a +[-]1, a +[-]2, a +[-]3 ... b } Generated list contains at least one element (when a == b).
Sequence: generate a list of integers, floats, vectors: { a + n * stp } n = 0 .. cnt Generated list is empty when cnt <= 0.
Comparison operator, a equals b.
Comparison operator, a not equal b.
Comparison operator, a less than b.
Comparison operator, a greater than b.
Comparison operator, a greater or equal b.
Comparison operator, a less or equal b.
Type of property/local variable (result is an atom, eg. ‘ATOMS’, ‘ARRAY’, ‘FLOAT’...) When the property is undefined, the result is nul (atom ‘‘).
Type of database/engine object
Template name of database/engine object
The name of the zone that object instance belongs to
Template name of database/engine object, complete with zone name (zone:name)
Id of database object. 0 denotes a static database object.
A list of object property names (list of atoms)
An ARRAY of pointers to all object properties.
Returns REFERENCE to owner of engine object
Vector component access. List operator (returns FLOATS when a is VECTORS). When a is single token type, return reference to vector component (ie: a|x = ...)
Vector component access. List operator (returns FLOATS when a is VECTORS). When a is single token type, return reference to vector component (ie: a|r = ...) a|r == a|x a|g == a|y a|b == a|z a|a == a|w
The following operators only accept integer/float/vector/list of integers/floats/vectors. When integer/list of integers is given, a float/list of floats is returned:
clip x to min & max
random between a .. b
random between a .. b
random between 0 .. a
random member of list a reference to item is returned (like [])
a new list is generated with random selected values
sum of list or vector
mul of list or vector
{ a , b , c , d } → { a , a + b , a + b + c , a + b + c + d , ... }
angle
angle
binary and
binary nand
binary or
binary xor
binary (arithmetic) shr
binary (arithmetic) shl
binary and
binary not
return a new list with sorted items
return an index list to sorted itemsa[isort(a)] is equivalent to sort(a)