# 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 dans le tableau , élément par élément: .
`math.fill(A,c)`
  Rempli chaque élément du tableau par la constante : .
`math.addscalar(A, B, c)`
  Effectue l'opération où est un nombre scalaire.
`math.add(A, B, C)`
  Effectue l'opération où , et sont des tableaux de même taille.
`math.sub(A, B, C)`
  Effectue l'opération où , et sont des tableaux de même taille.
`math.mul(A, B, C)`
  Effectue l'opération où , et sont des tableaux de même taille. Ceci n'est pas le produit scalaire.
`math.div(A, B, C)`
  Effectue l'opération where , et 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 et dans où , et sont des tableaux de même taille: .
`math.max(A, B, C)`
  Écrit le plus grand élement entre et dans où , et sont des tableaux de même taille: .
`math.dot(r, A, B, n)`
  Effectue le produit scalaire entre deux tableaux et de même taille:
`math.stat(V, min, max, mean)`
  Calcule le minimum, le maximum et la moyenne des éléments d'un tableau .
`math.argbounds(A, argmin, argmax)`
  Fournit les indices argmin et argmax correspondant au minimum respectivement au maximum des éléments de .
`math.sort(A)`
  Trie le tableau du minimum au maximum, directement dans .
`math.muldiv(A, B, C, D)`
  Calcule la multiplication-division en utilisant une précision interne de 32\,bits: . Une erreur sera envoyée en cas de division par zéro.
`math.atan2(A, Y, X)`
  Calcule en utilisant le signe de et pour déterminer le quadrant de sortie, où , et sont des tableaux de même taille. Si et alors ..
`math.sin(A, B)`
  Calcule où et sont deux tableaux de même taille.
`math.cos(A, B)`
  Calcule où et sont deux tableaux de même taille.
`math.rot2(A, B, angle)`
  Rotation du tableau par l'angle, écrit le résultat dans . et Doivent être des tableaux de taille 2
`math.sqrt(A, B)`
  Calcule où et ont deux tableaux de même taille.
`math.nzseq(a, B, m)`
  Écrit dans l'index du milieu de la plus grand séquence d'éléments non-zéro de , écrit si aucune séquence n'est trouvée ou si la taille de la séquence est plus courte que .
`math.rand(v)`
  Retourne une valeur aléatoire de intervalle .