<> <> <> ImagerBrick: CEDAR DEFINITIONS = { <> Brick: TYPE = REF BrickRep; BrickRep: TYPE = RECORD [fSize, sSize: CARDINAL, --dimensions of the matrix always positive phase: INTEGER, --shift value of succeeding matrix repetition u, v: CARDINAL, --values matrix was derived from cBrick: SEQUENCE size: NAT OF REAL ]; <<>> <> BuildBrick: PROC [freq: REAL, angle: REAL, filter: PROC [x, y: REAL] RETURNS [fvalue: REAL]] RETURNS [brick: Brick]; <> <> <> GetSize: PROC [brick: Brick] RETURNS [fSize, sSize: CARDINAL, phase: INTEGER]; <> GetElement: PROC [brick: Brick, x, y: CARDINAL] RETURNS [bElement: REAL]; GetRow: PROC [brick: Brick, x, y: CARDINAL] RETURNS [row: CARDINAL]; GetCol: PROC [brick: Brick, x, y: CARDINAL] RETURNS [col: CARDINAL]; CGBrickImpl: PROGRAM; }. --of CGBrick LOG <> <> <> <> <> <>