<<>> <> <> <> DIRECTORY FloatingPointCommon; RealSupport: CEDAR DEFINITIONS = BEGIN <> <<>> Classify: PROC [d: REAL] RETURNS [FloatingPointCommon.NumberType]; <> <<>> Example: PROC [c: FloatingPointCommon.NumberType, min: BOOL ¬ FALSE] RETURNS [REAL]; <> <> <> <> <> <> <<>> IntToReal: PROC [i: INT] RETURNS [REAL]; <<>> CardToReal: PROC [c: CARD] RETURNS [REAL]; <<>> Fix: PROC [REAL] RETURNS [INT]; <<... rounds toward zero (error if outside the INT range)>> <<>> Round: PROC [REAL] RETURNS [INT]; <<... rounds toward nearest (error if outside the INT range)>> <<>> FScale: PROC [a: REAL, scale: INTEGER] RETURNS [REAL]; -- a*(2­scale) <<>> Neg: PROC [d: REAL] RETURNS [REAL]; <<>> Abs: PROC [d: REAL] RETURNS [REAL]; <<>> Add: PROC [x, y: REAL] RETURNS [REAL]; <<>> Sub: PROC [x, y: REAL] RETURNS [REAL]; <<>> Mul: PROC [x, y: REAL] RETURNS [REAL]; <<>> Div: PROC [x, y: REAL] RETURNS [REAL]; <<>> Gt: PROC [x, y: REAL] RETURNS [BOOL]; <<>> Ge: PROC [x, y: REAL] RETURNS [BOOL]; <<>> Lt: PROC [x, y: REAL] RETURNS [BOOL]; <<>> Le: PROC [x, y: REAL] RETURNS [BOOL]; <<>> Eq: PROC [x, y: REAL] RETURNS [BOOL]; <<>> Ne: PROC [x, y: REAL] RETURNS [BOOL]; <<>> Min: PROC [x, y: REAL] RETURNS [REAL]; <<>> Max: PROC [x, y: REAL] RETURNS [REAL]; <<>> Pwr: PROC [x, y: REAL] RETURNS [REAL]; <<>> Ceiling: PROC [x: REAL] RETURNS [REAL]; Floor: PROC [x: REAL] RETURNS [REAL]; END.