-- TSTypesImpl.mesa -- Michael Plass DIRECTORY TSTypes, Real USING [RoundI]; TSTypesImpl: PROGRAM IMPORTS Real EXPORTS TSTypes = BEGIN OPEN TSTypes; DimnInt: PUBLIC PROCEDURE [num,denom: Dimn] RETURNS [INTEGER] = BEGIN t:REAL_num.texPts/denom.texPts; s:INTEGER _ 1; IF t<0 THEN {t _ -t; s _ -s}; IF t<=LAST[NAT] THEN RETURN[s*Real.RoundI[t]] ELSE RETURN[s*LAST[NAT]] END; END.