Next: , Previous: Operations, Up: Top


3 Representation

3.1 System grid

In the grid system, there are two forms of grids defined. The first is a regular CL array. For example, an ordinary vector

     #(1.0d0 2.0d0 3.0d0)

is considered a grid. The other form of grid is a stack of arrays or lists each, except for the last, of whose elements is another array or list. The last one must have a scalar (such as a number) for all its elements. For example,

     (make-grid '((array 3) (list 3) double-float) :initial-element 1.0d0)

will make a grid that consists of an array (vector) of length 3 each of whose elements is a list of length 3 of double floats, initialized to the value 1.0.

Any grid other than an ordinary CL array will be an instance of a subclass of grid.

3.2 System foreign-array

The system foreign-array defines classes and types of C arrays (specifically, any row-major foreign arrays) using CFFI.