Aseba  1.5.5
Classes | Macros | Typedefs | Functions | Variables
natives.h File Reference

Definition of standard natives functions for Aseba Virtual Machine. More...

#include "../common/types.h"
#include "vm.h"

Go to the source code of this file.

Classes

struct  AsebaVariableDescription
 Description of a variable. More...
 
struct  AsebaVMDescription
 Description of all variable. More...
 
struct  AsebaLocalEventDescription
 Description of a local event. More...
 
struct  AsebaNativeFunctionArgumentDescription
 Description of an argument of a native function. More...
 
struct  AsebaNativeFunctionDescription
 Description of a native function. More...
 

Macros

#define ASEBA_NATIVES_STD_COUNT   21
 Embedded targets must know the size of ASEBA_NATIVES_STD_FUNCTIONS without having to compute them by hand, please update this when adding a new function.
 
#define ASEBA_NATIVES_STD_FUNCTIONS
 snippet to include standard native functions More...
 
#define ASEBA_NATIVES_STD_DESCRIPTIONS
 snippet to include descriptions of standard native functions More...
 

Typedefs

typedef void(* AsebaNativeFunctionPointer) (AsebaVMState *vm)
 Signature of a native function.
 

Functions

void AsebaNative_veccopy (AsebaVMState *vm)
 Function to copy a vector.
 
void AsebaNative_vecfill (AsebaVMState *vm)
 Function to fill all the elements of a vector to a specific value.
 
void AsebaNative_vecaddscalar (AsebaVMState *vm)
 Function to add a scalar to each element of a vector.
 
void AsebaNative_vecadd (AsebaVMState *vm)
 Function to add two vectors.
 
void AsebaNative_vecsub (AsebaVMState *vm)
 Function to substract two vectors.
 
void AsebaNative_vecmul (AsebaVMState *vm)
 Function to multiply two vectors elements by elements.
 
void AsebaNative_vecdiv (AsebaVMState *vm)
 Function to divide two vectors elements by elements.
 
void AsebaNative_vecmin (AsebaVMState *vm)
 Function to take the element by element minimum.
 
void AsebaNative_vecmax (AsebaVMState *vm)
 Function to take the element by element maximum.
 
void AsebaNative_vecclamp (AsebaVMState *vm)
 Function to clamp a vector of values element by element.
 
void AsebaNative_vecdot (AsebaVMState *vm)
 Function to perform a dot product on a vector.
 
void AsebaNative_vecstat (AsebaVMState *vm)
 Function to perform statistics on a vector.
 
void AsebaNative_vecargbounds (AsebaVMState *vm)
 Function to get indices of the bounds of a vector.
 
void AsebaNative_vecsort (AsebaVMState *vm)
 Function to sort a vector.
 
void AsebaNative_mathmuldiv (AsebaVMState *vm)
 Function to perform dest = (a*b)/c in 32 bits.
 
void AsebaNative_mathatan2 (AsebaVMState *vm)
 Function to perform atan2.
 
void AsebaNative_mathsin (AsebaVMState *vm)
 Function to perform sin.
 
void AsebaNative_mathcos (AsebaVMState *vm)
 Function to perform cos.
 
void AsebaNative_mathrot2 (AsebaVMState *vm)
 Function to perform the rotation of a vector.
 
void AsebaNative_mathsqrt (AsebaVMState *vm)
 Function to perform sqrt.
 
void AsebaNative_vecnonzerosequence (AsebaVMState *vm)
 Function to get the middle index of the largest sequence of non-zero elements.
 
void AsebaSetRandomSeed (uint16 seed)
 Functon to set the seed of random generator.
 
uint16 AsebaGetRandom (void)
 Functon to get a random number.
 
void AsebaNative_rand (AsebaVMState *vm)
 Function to get a 16-bit signed random number.
 

Variables

const AsebaNativeFunctionDescription AsebaNativeDescription_veccopy
 Description of AsebaNative_veccopy.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_vecfill
 Description of AsebaNative_vecfill.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_vecaddscalar
 Description of AsebaNative_vecaddscalar.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_vecadd
 Description of AsebaNative_vecadd.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_vecsub
 Description of AsebaNative_vecsub.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_vecmul
 Description of AsebaNative_vecadd.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_vecdiv
 Description of AsebaNative_vecsub.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_vecmin
 Description of AsebaNative_vecmin.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_vecmax
 Description of AsebaNative_vecsmax.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_vecclamp
 Description of AsebaNative_vecclamp.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_vecdot
 Description of AsebaNative_vecdot.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_vecstat
 Description of AsebaNative_vecstat.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_vecargbounds
 Description of AsebaNative_vecargbounds.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_vecsort
 Description of AsebaNative_vecsort.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_mathmuldiv
 Description of AsebaNative_mathmuldiv.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_mathatan2
 Description of AsebaNative_mathatan2.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_mathsin
 Description of AsebaNative_mathsin.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_mathcos
 Description of AsebaNative_mathcos.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_mathrot2
 Description of AsebaNative_mathrot2.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_mathsqrt
 Description of AsebaNative_mathsqrt.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_vecnonzerosequence
 Description of AsebaNative_vecnonzerosequence.
 
const AsebaNativeFunctionDescription AsebaNativeDescription_rand
 Description of AsebaNative_rand.
 

Detailed Description

Definition of standard natives functions for Aseba Virtual Machine.