DIRECTORY ; IMatrix: CEDAR DEFINITIONS ~ BEGIN IVector: TYPE = REF IVectorRec; IVectorRec: TYPE = RECORD [ SEQUENCE size: NAT OF NAT ]; IM: TYPE = REF IMRec; IMRec: TYPE = RECORD [ SEQUENCE size: NAT OF IVector ]; Buf: TYPE = REF BufRec; BufRec: TYPE = RECORD [ first, last: NAT _ 0, pcs: SEQUENCE size: NAT OF NAT ]; IMSeq: PUBLIC TYPE = REF IMSeqRec; IMSeqRec: TYPE = RECORD [ buf: Buf, ims: SEQUENCE size: NAT OF IM ]; ConformanceCheck: SIGNAL; DisallowedPath: PUBLIC SIGNAL [from, to: NAT]; Create: PROC [size: NAT] RETURNS [im: IM]; Copy: PROC [from: IM] RETURNS [to: IM]; Multiply: PROC [left, right: IM] RETURNS[result: IM]; Size: PROC [im1, im2: IM] RETURNS [size: NAT]; Equal: PROC [im1, im2: IM] RETURNS [BOOL]; ApplyProc: TYPE = PROC [i, j: NAT]; Enumerate: PROC [im: IM, p: ApplyProc]; CreateIMSeq: PROC [im: IM] RETURNS [imSeq: IMSeq]; InitIMSeq: PROC [imSeq: IMSeq]; UpdateIMSeq: PROC [imSeq: IMSeq, pc: NAT]; END.  IMatrix.mesa Copyright c 1986 by Xerox Corporation. All rights reserved. Written by: Pradeep Sindhu, October 9, 1987 10:08:12 pm PDT Pradeep Sindhu, October 13, 1987 6:33:56 pm PDT This interface defines incidence matrices and provides operations on them. The interface and its implementation are being written for the particular application of exhaustive testing of the cache's microcode flow graph, so they will undoubtedly contain verbiage specific to this application. Type Defs Basic Procs Higher Level Procs Κ€˜codešœ ™ Kšœ Οmœ1™