<> <> <> DIRECTORY Basics USING [LongNumber], PrincOps USING [PsbIndex], Real USING [Exception, ExceptionFlags, Extended]; RealExceptions: CEDAR DEFINITIONS = BEGIN FlagsArray: TYPE = ARRAY PrincOps.PsbIndex OF CombinedFlags; CombinedFlags: TYPE = RECORD [ sticky: Real.ExceptionFlags, exceptions: Real.ExceptionFlags ]; Init: UNSAFE PROC [lp: LONG POINTER TO FlagsArray]; <> ClearExceptions: PROC; <> <<>> ClearSticky: PROC; <> <<>> ClearCombined: PROC; <> <<>> SetCombined: PROC [flags: CombinedFlags]; <> <<>> SetException: PROC [which: Real.Exception]; <> <<>> SetSticky: PROC [which: Real.Exception]; <> <<>> TestException: PROC [which: Real.Exception] RETURNS [BOOL]; <> <<>> TestSticky: PROC [which: Real.Exception] RETURNS [BOOL]; <> <<>> GetExceptions: PROC RETURNS [Real.ExceptionFlags]; <> GetSticky: PROC RETURNS [Real.ExceptionFlags]; <> GetCombined: PROC RETURNS [CombinedFlags]; <> RaiseException: PROC [ext: Real.Extended] RETURNS [clientFixup: BOOL, fraction: Basics.LongNumber]; <> END.