Synthesize Array Element

This module takes parts of records and uses them to specify a new
aggregate data record that is a vector or two dimensional array. The
size of the array depends on the input data and will grow to accommodate
the largest row or column value seen.  Any cell that is not explicitly set
defaults to a configured value.

Input Ports
	
	Index 0 - integer, float, double
	the row that a data value will be placed in

	Index 1 - integer, float, double
	the column that a data value will be placed in

	Cell Value - integer, float, double
	the data value to be placed in the specified array cell

Output Ports

	Subscript 0 - integer
	the row index of the data value (same as input Index 0)

        Subscript 1 - integer
        the row index of the data value (same as input Index 1)

	Matrix Element - two dimensional array element with the cell value
	a double obtained by Array[Index 0, Index 1] computed from Cell Value


Configuration Information

	Initial Array Size - integer
	the initial dimensions of the output array.  An array of this
	size with all cells equal to the configured initial value will be
	created when the system begins to run. 

	Maximum Array Size - integer
	the maximum allowable dimensions for the output array.  If
	the specified dimension exceeds this value, an error message is
	generated. 

	Initial Cell Value - real
	the default value that will be placed in cells when the array is
	first created or when it increases in size.  Any cells that have
	had their initial value changed will not be affected by array
	resizing. 

	Action - indicates what should be done with a cell's value when
	a new value for the same cell is encountered.  Replace indicates
	that the old value is discarded and the new one takes it place.
	Update specifies an operation to perform to determine what the
	new cell value is.  Possible update actions are:

	Addition: cell value = old cell value + new cell value
	Subtraction: cell value = old cell value - new cell value
	Multiplication: cell value = old cell value * new cell value
	Division: cell value = old cell value / new cell value
	Minimum: cell value = min(old cell value, new cell value)
	Maximum: cell value = max(old cell value, new cell value)
	Count: cell value = cell value + 1

	Count pays no attention to the value held in the cell.  It
	simply counts the number of times a given record has come
	through the module and stores the value in the specified cell.



