Bibliothèque standard de fonctions natives

Bibliothèque standard de fonctions natives

Aseba fournit une bibliothèque standard de fonctions natives. Les micro-contrôleurs devraient normalement1 fournir cette bibliothèque. Dans la version 1.1 d'Aseba, les fonctions suivantes sont disponibles2:

math.copy(A,B)
Copie le tableau $B$ dans le tableau $A$, élément par élément: $A_i = B_i$.
math.fill(A,c)
Rempli chaque élément du tableau $A$ par la constante $c$: $A_i = c$.
math.addscalar(A, B, c)
Effectue l'opération $A_i = B_i + c$$c$ est un nombre scalaire.
math.add(A, B, C)
Effectue l'opération $A_i = B_i + C_i$$A$, $B$ et $C$ sont des tableaux de même taille.
math.sub(A, B, C)
Effectue l'opération $A_i = B_i - C_i$$A$, $B$ et $C$ sont des tableaux de même taille.
math.mul(A, B, C)
Effectue l'opération $A_i = B_i \cdot C_i$$A$, $B$ et $C$ sont des tableaux de même taille. Ceci n'est pas le produit scalaire.
math.div(A, B, C)
Effectue l'opération $A_i = B_i / C_i$ where $A$, $B$ et $C$ sont des tableaux de même taille. Une erreur sera envoyée en cas de division par zéro.
math.min(A, B, C)
Écrit le plus petit élément entre $B$ et $C$ dans $A$$A$, $B$ et $C$ sont des tableaux de même taille: $A_i = \mathrm{min}(B_i, C_i)$.
math.max(A, B, C)
Écrit le plus grand élement entre $B$ et $C$ dans $A$$A$, $B$ et $C$ sont des tableaux de même taille: $A_i = \mathrm{max}(B_i, C_i)$.
math.dot(r, A, B, n)
Effectue le produit scalaire entre deux tableaux $A$ et $B$ de même taille: $r = \frac{\sum_i(A_i\cdot B_i)}{2^{n}}$
math.stat(V, min, max, mean)
Calcule le minimum, le maximum et la moyenne des éléments d'un tableau $V$.
math.argbounds(A, argmin, argmax)
Fournit les indices argmin et argmax correspondant au minimum respectivement au maximum des éléments de $A$.
math.sort(A)
Trie le tableau $A$ du minimum au maximum, directement dans $A$.
math.muldiv(A, B, C, D)
Calcule la multiplication-division en utilisant une précision interne de 32\,bits: $A_i = \frac{B_i\cdot C_i}{D_i}$. Une erreur sera envoyée en cas de division par zéro.
math.atan2(A, Y, X)
Calcule $A_i=\arctan\left(\frac{Y_i}{X_i}\right)$ en utilisant le signe de $Y_i$ et $X_i$ pour déterminer le quadrant de sortie, où $A$, $Y$ et $X$ sont des tableaux de même taille. Si $X_i = 0$ et $Y_i = 0$ alors $A_i = 0$..
math.sin(A, B)
Calcule $A_i = \sin(B_i)$$A$ et $B$ sont deux tableaux de même taille.
math.cos(A, B)
Calcule $A_i = \cos(B_i)$$A$ et $B$ sont deux tableaux de même taille.
math.rot2(A, B, angle)
Rotation du tableau $B$ par l'angle, écrit le résultat dans $A$. $A$ et $B$ Doivent être des tableaux de taille 2
math.sqrt(A, B)
Calcule $A_i = \sqrt{B_i}$$A$ et $B$ sont deux tableaux de même taille.
math.rand(v)
Retourne une valeur aléatoire $v$ de intervalle $-32768:32767$.

Puisqu'un scalaire est considéré comme un tableau de taille une, ces fonctions peuvent être utilisées sur des scalaires:

var theta = 16384
var cos_theta
call math.cos(cos_theta, theta)
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License