Vorgegebene Funktionen Standard-Bibliothek

Aseba bringt eine Standard-Bibliothek mit, die von Haus aus bereits viele Funktionen enthält. Die meisten Geräte liefern diese Standard-Bibliothek mit.1 Falls die Firmware Ihres Gerätes schon etwas älter ist, unterstützt sie möglicherweise noch nicht neu hinzugekommene Funktionen. Seit Aseba 1.1 sind folgende Funktionen verfügbar:

math.copy(A,B)
Kopiert eines nach dem anderen jedes Element des Vektors in den Vektor : .
math.fill(A,c)
Schreibt die Konstante in jedes Element des Vektors : .
math.addscalar(A, B, c)
Berechne , wobei ein Skalar ist.
math.add(A, B, C)
Berechne , wobei, und drei gleichgrosse Vektoren sind.
math.sub(A, B, C)
Berechne , wobei , und drei gleichgrosse Vektoren sind.
math.mul(A, B, C)
Berechne , wobei , und gleichgrosse Vektoren sind. Beachte: Dies ist kein Skalarprodukt!
math.div(A, B, C)
Berechne , wobei , und drei gleichgrosse Vektoren sind. Eine Division durch Null führt zu einer Ausnahmesituation.
math.min(A, B, C)
Speichere für jedes Element das Minimum der Vektoren und in , wobei , und drei Vektoren gleicher Grösse sind: .
math.max(A, B, C)
Speichere für jedes Element das Maximum der Vektoren und in , wobei , and drei Vektoren gleicher Grösse sind: .
math.dot(r, A, B, n)
Berechne das Skalarprodukt zweier gleichgrosser Vektoren und :
math.stat(V, min, max, mean)
Berechne das Maximum, den Mittelwert und das Minimum des Vektors .
math.argbounds(A, argmin, argmax)
Bestimme die Indizes argmin und argmax, die dem kleinsten und dem grössten Wert aus entsprechen.
math.sort(A)
Sortiere den Vektor in situ.
math.muldiv(A, B, C, D)
Berechne die Multiplikations-Division mit 32-bit-Genauigkeit. . Eine Division durch Null führt zu einer Ausnahmesituation.
math.atan2(A, Y, X)
Berechne , wobei die Zeichen von und den Ausgabe-Quandranten festlegen. , und müssen Vektoren gleicher Grösse sein. Beachte, dass und zu dem Ergebnis führen..
math.sin(A, B)
Berechne , wobei und zwei Vektoren gleicher Grösse sind.
math.cos(A, B)
Berechne , wobei und zwei Vektoren gleicher Grösse sind.
math.rot2(A, B, Winkel)
Rotiere den Vektor um Winkel und speichere das Ergebnis in . Beachte: und müssen beide genau 2 Elemente enthalten.
math.sqrt(A, B)
Berechne , wobei und zwei Vektoren gleicher Grösse sind.
math.nzseq(a, B, m)
Speichere in den mittleren Index der längsten Aufeinanderfolge von Zahlen in , die nicht Null sind oder falls es keine solche gibt oder dessen Länge kleiner als ist.
math.rand(v)
Bestimme einen zufälligen Wert aus dem zwischen und .