<> <> <> <> <<>> DIRECTORY BasicTime, IO; GGStatistics: CEDAR DEFINITIONS = BEGIN Table: TYPE = REF TableObj; TableObj: TYPE = RECORD [ intervals: LIST OF Interval, name: ATOM ]; Interval: TYPE = REF IntervalObj; IntervalObj: TYPE = RECORD [ name: ATOM, subintervals: LIST OF Interval, starts, stops, unmatchedStarts: NAT, startTime: BasicTime.Pulses, totalTime: BasicTime.Pulses, maxTime: BasicTime.Pulses, maxIndex: NAT, minTime: BasicTime.Pulses ]; <> <<>> CreateTable: PROC [name: ATOM] RETURNS [table: Table]; <> GetTable: PROC [name: ATOM] RETURNS [table: Table]; <> ResetTable: PROC [table: Table]; <> CreateInterval: PROC [name: ATOM, subintervals: LIST OF Interval _ NIL] RETURNS [interval: Interval]; AddInterval: PROC [interval: Interval, table: Table]; AddInt: PROC [interval: Interval, tableName: ATOM]; <> ResetInterval: PROC [name: ATOM, table: Table]; <> <<>> StartInterval: PROC [name: ATOM, table: Table]; StartInt: PROC [intervalName: ATOM, tableName: ATOM]; <> StopInterval: PROC [name: ATOM, table: Table]; StopInt: PROC [intervalName: ATOM, tableName: ATOM]; <> <> <<>> PrintTable: PROC [f: IO.STREAM, table: Table]; END.