This site describes MEP functions available to use a Multi Dimensional Array (MDA) store. Such a MDA is basically a grid, whose borders, and distances between borders can be defined. As an example, the map of a city can be overlayed by a MDA to get equal sized zones or cells.
Functions for MDA stores are the following:
This function creates a new dimension for any MDA store.
Arguments:
The number of cells is than the number of borders minus 1.
Return value: List<Double>
All borders defining the dimension
Example:
0...100 | 100.01... 200 |
can be defined by
MDADim(0.0, 200.0, ToInteger(3)) |
returning
0 | 100 | 200 |
This function creates a new MDA store.
Arguments:
Return value: null
Example:
MDAInit("MyStore", ToList(MDADim(0.0, 200.0, ToInteger(3)))) |
This function drops an existing MDA store.
Argument: The name for the store
Return value: null
Example:
MDADrop("MyStore") |
This function retrieves the index of an one-dimensional
MDA store for a given value. In other words, it answers the quesion in which cell the values lies.
Short-cut for MDAIndices with one dimension.
Arguments:
Note that it must be an one-dimensional MDA
Return value: Integer
The cell in which cell the values lies, or -1, if the value is outside the boundaries.
Example:
Using the Nexmark sources:
MDAIndex("MyStore", price) |
This function retrieves the index of multi-dimensional MDA store for a given value. In other words, it answers the quesion in which cell the values lies.
Arguments:
Return value: List<Integer>
The cell in which cell the values lies, or -1 for any dimension, if the value is outside the boundaries of that dimension.
Example:
Using the Nexmark sources:
MDAIndex("MyStore", ToList(price, ToDouble(initialbid))) |
This function adds a new dimension to an existing MDA store.
Arguments:
Return value: null
Example:
MDAAddDim("MyStore", MDADim(0.0, 200.0, ToInteger(3))) |
This function removes an existing dimension from an existing MDA store.
Arguments:
Return value: null
Example:
MDARemoveDim("MyStore", ToInteger(0)) |
This function replaces en existing dimension of an existing MDA store with a new dimension.
Arguments:
Return value: null
Example:
MDAExchangeDim("MyDim", ToInteger(0), MDADim(200.0, 400.0, ToInteger(5))) |