ANTAREX API

Clava API

LARA API

LARA Common Language API

(.js)
laraImport("antarex.memoi.MemoizationCXX");

(.lara)
import antarex.memoi.MemoizationCXX;

Aspects

CPP_UpdateCallMemoization

Inputs

aClass: any
aMethod: any
vtype: any
nbparams: any

Memoize_Method

Memoizes a method of a class with default parameters.


Inputs

aClass:: string - the name of a class.
aMethod:: string - the name of a method. It calls Memoize_Method_ARGS(aClass, aMethod, 'none', 'no', 'none','no', 0, DEFAULT_TABSIZE)).
aClass: any
aMethod: any

Memoize_Method_ARGS

Memoizes a method of a class with given parameters.


Inputs

aClass:: string - the name of a class.
aMethod:: string - the name of a method.
fileToLoad:: string - the name of the file to load to initialse the internal table, or none.
FullOffLine:: string - yes or no. yes implies a full off lime memoization (requires a fileToLoad).
FileToSave:: string - the name of the file to save the data of the table, or none.
AlwaysReplace:: string - yes or no. yes implis that in case of collisions, the table is updated.
precision:: int - the number of bit to delete (float/double) for internal approximation, 0 for int.
tsize:: int - the size of the table. First, it searches the existence of such a method in the application. In case of success, it controls that parameters and the type of the arguments are conformed for the INRIA memoization library. Then, it adds (see GenCode_CPP_Memoization()) the informations, required for generating the memoization library, in a file called "funs-static.def". Finally, it updates the user code by replacing a reference to the memoized method by a reference to the wrapper function. The wrapper is declared as a new method in the class.
aClass: any
aMethod: any
fileToLoad: any
FullOffLine: any
FileToSave: any
updateTableOnCollision: any
precision: any
tsize: any

Memoize_Method_overloading

Memoizes a method of a class giving the type and the number of inputs parameters,
required for solving the overloading of C++.


Inputs

aClass:: string - the name of a class.
aMethod:: string - the name of a method.
pType:: string - the type of the arguments and returned value of the method.
nbArgs:: int - number of input arguments. It calls Memoize_Method_overloading_ARGS with default arguments: Memoize_Method_overloading_ARGS(aClass, aMethod, pType, nbArgs, 'none', 'no', 'none', 'no',0, DEFAULT_TABSIZE);
aClass: any
aMethod: any
pType: any
nbArgs: any

Memoize_Method_overloading_ARGS

Memoizes a method of a class giving the type and the number of inputs parameters,
required for solving the overloading of C++.


Inputs

aClass:: string - the name of a class.
aMethod:: string - the name of a method.
pType:: string - the type of the arguments and returned value of the method.
nbArgs:: int - number of input arguments.
fileToLoad:: string - the name of the file to load to initialse the internal table, or none.
FullOffLine:: string - yes or no. yes implies a full off lime memoization (requires a fileToLoad).
FileToSave:: string - the name of the file to save the data of the table, or none.
AlwaysReplace:: string - yes or no. yes implis that in case of collisions, the table is updated.
precision:: int - the number of bit to delete (float/double) for internal approximation, 0 for int.
tsize:: int - the size of the table.
aClass: any
aMethod: any
pType: any
nbArgs: any
fileToLoad: any
FullOffLine: any
FileToSave: any
updateTableOnCollision: any
precision: any
tsize: any

getMethods

Inputs

aClass: any
aMethod: any

Outputs

tabOfMethods: any (optional)