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