<> <> <> DIRECTORY Basics: TYPE USING [Comparison, LongNumber], BcdStamps: TYPE USING [], CompilerOps: TYPE USING [LetterSwitches], TimeStamp: TYPE USING [Stamp]; BcdStampsImpl: CEDAR PROGRAM EXPORTS BcdStamps ~ { StampSize: NAT ~ 3; Stamp: TYPE ~ RECORD [word: ARRAY[0..StampSize) OF WORD]; CompareStamps: PUBLIC PROC[s1, s2: TimeStamp.Stamp] RETURNS[Basics.Comparison] ~ { RETURN[SELECT s1.time FROM < s2.time => $less, > s2.time => $greater, ENDCASE => SELECT s1.host - s2.host FROM -- can't overflow < 0 => $less, > 0 => $greater, ENDCASE => SELECT s1.net - s2.net FROM < 0 => $less, > 0 => $greater, ENDCASE => $equal] }; Compute: PUBLIC PROC[ <> <