Librería estándar de funciones nativas
Aseba cuenta con una librería estándar de funciones nativas. Los objetivos, normalmente incorporan esta librería. Si el firmware de tu dispositivo es portador de una versión de Aseba desactualizada, es posible que no estén disponibles todas las funciones. Las funciones disponibles en Aseba versión 1.1 son:
-
math.copy(A,B)
-
Copia el vector
en el vector
, elemento por elemento:
.
-
math.fill(A,c)
-
Llena cada posición de un vector
con una constante
:
.
-
math.addscalar(A, B, c)
-
Calcula
donde
es un escalar.
-
math.add(A, B, C)
-
Calcula
donde
,
y
son tres vectores del mismo tamaño.
-
math.sub(A, B, C)
-
Calcula
donde
,
y
son tres vectores del mismo tamaño.
-
math.mul(A, B, C)
-
Calcula
donde
,
y
son tres vectores del mismo tamaño. Tenga en cuenta que no se trata de un producto escalar.
-
math.div(A, B, C)
-
Calcula
donde
,
y
son tres vectores del mismo tamaño. Ocurrirá una excepción si se intenta dividir por cero.
-
math.min(A, B, C)
-
Escribe en
el menor valor entre cada elemento de
y
donde
,
y
son tres vectores del mismo tamaño:
.
-
math.max(A, B, C)
-
Escribe en
el mayor valor entre cada elemento de
y
donde
,
y
son tres vectores del mismo tamaño:
.
-
math.dot(r, A, B, n)
-
Calcula el producto escalar entre dos vectores del mismo tamaño
and
:
-
math.stat(V, min, max, mean)
-
Calcula la media y los valores máximo y mínimo del vector
.
-
math.argbounds(A, argmin, argmax)
-
Obtiene los índices argmin y argmax que corresponden a los valores mínimo y máximo de
, respectivamente.
-
math.sort(A)
-
Ordena el vector
.
-
math.muldiv(A, B, C, D)
-
Computa una multiplicación-división usando una presición interna de 32\,bits:
. Ocurrirá una excepción si se intenta dividir por cero.
-
math.atan2(A, Y, X)
-
Calcula
usando los signos de
y
para determinar el cuadrante de la respuesta., donde
,
y
son tres vectores del mismo tamaño. Tenga en cuenta que
y
produce
.
-
math.sin(A, B)
-
Calcula
donde
y
son dos vectores del mismo tamaño.
-
math.cos(A, B)
-
Calcula
donde
y
son dos vectores del mismo tamaño.
-
math.rot2(A, B, angle)
-
Rota el vector
un ángulo angle, escribe el resultado en
. Tenga en cuenta que
y
son vectores de dos elementos cada uno (tamaño =2 ).
-
math.sqrt(A, B)
-
Calcula
donde
y
son dos vectores del mismo tamaño.
-
math.nzseq(a, B, m)
-
Escribe en
el índice medio de la mayor secuencia de elementos diferentes que cero que se encuentran en
. El resultado será
si no se encuentran o si el tamaño de la secuencia es menor que
.
-
math.rand(v)
-
Genera un valor aleatorio
entre
.