-- SpecialReal.mesa -- Last edit by Doug Wyatt, August 27, 1982 2:04 pm DIRECTORY Ieee USING [ExponentBias, SingleReal], Real USING [FScale, RoundLI]; SpecialReal: CEDAR DEFINITIONS IMPORTS Real = { Half: PROC[r: REAL] RETURNS[REAL] = TRUSTED INLINE { RETURN[Real.FScale[r, -1]] }; Round: PROC[r: REAL] RETURNS[REAL] = INLINE { IF LOOPHOLE[r,Ieee.SingleReal].exp<(Ieee.ExponentBias+31) THEN TRUSTED { RETURN[Real.RoundLI[r]] } ELSE RETURN[r] }; Small: PROC[r: REAL] RETURNS[BOOLEAN] = INLINE { RETURN[LOOPHOLE[r, Ieee.SingleReal].exp<(Ieee.ExponentBias+23)] }; -- If ~Small[r], r must represent a (large) integer. }.