IMPLEMENTATION MODULE FpuIO; (* Thin layer over the C runtime's float/integer printers. *) PROCEDURE m2writefix (x : REAL; wid : INTEGER; dec : INTEGER); EXTERNAL; PROCEDURE m2writeintwidth (v : LONGINT; wid : CARDINAL); EXTERNAL; PROCEDURE m2readreal () : REAL; EXTERNAL; PROCEDURE ReadReal (VAR x : LONGREAL); BEGIN x := m2readreal() END ReadReal; PROCEDURE ReadLongReal (VAR x : LONGREAL); BEGIN x := m2readreal() END ReadLongReal; PROCEDURE WriteReal (x : LONGREAL; width, decimals : CARDINAL); BEGIN m2writefix(x, VAL(INTEGER, width), VAL(INTEGER, decimals)) END WriteReal; PROCEDURE WriteLongReal (x : LONGREAL; width, decimals : CARDINAL); BEGIN m2writefix(x, VAL(INTEGER, width), VAL(INTEGER, decimals)) END WriteLongReal; PROCEDURE WriteLongInt (x : LONGINT; width : CARDINAL); BEGIN m2writeintwidth(x, width) END WriteLongInt; PROCEDURE WriteLongCard (x : LONGCARD; width : CARDINAL); BEGIN m2writeintwidth(VAL(LONGINT, x), width) END WriteLongCard; END FpuIO.