New Release 81

General:. This page generally describes new functionality in the 81 series of revisions and uploads. This is Working Documentation that with maturity will be moved to the Master Documentation.

Catenating assignment ( ,=> ): A very common requirement when slewing through data is to build up a result through catenation. Using normal catenation techniques, this is a very expensive process. Typically it means checking the size of the two contributors, creating a new larger object, and copying into the new object. With catenating assignment Glee is able to save space at the end of an object and catenate into that space. Typically it saves 10% additional space and only resizes when that is exhausted. It is also possible to presize an object and then clear it. This leaves the storage allocated and catenation can proceed into the preallocated storage.

Histogram ( index #<> cell ): Histograms aggregate statistics. They may count occurrences of items or objects in ranges defined by cells, or they may accumulate the values of the items or objects. Introduction of this histogram operator begins the support for that need. The prefixes @< (the default) and @> are used to direct the operation. The left @<  and right @>  prefixes determine which of the ends are part of the cell (they can't both be part of the cell and by default, the left edge rules). This operator produces one more element than the number of cells given. By default, the last element is the accumulation before reaching the left edge of the first cell. If the right (@>) prefix is used, accumulation before the first cell would naturally accumulate in the first cell. Therefore, in the case of a right cell edge, the last element of the result is the accumulation beyond the last cell supplied.

Histogram weighted( index value #<> cell ): If indices and values are given, where the indices determine the cell, the values accumulate in the cell. Thus the value could be an actual value, or it could be the weight of the contribution of the respective index. The effect is to achieve a weighted histogram. The result could be normalized by dividing by the sum of the value vector.

Simple Interpolation (x y #@` ix): Read glyph as value at index. If just the "x" and "y" vectors are supplied, an interpolation into these data points is called for. The "x" values must be sorted ascending. The "ix" values (also sorted ascending) interpolate among the points to return "iy" values as a result.

Cellular Interpolation (s e v #@` ix): Cellular interpolation is given a start "s" and end "e" of a cell and a value "v" within that cell. The result for each output index is the value of the cell in which the index falls. Where cells are missing, the value of the assumed cell is the average of cell values to its left and right. First and last cells are extended for indices before cells begin or after cells end.