fpuio.mod 989 B

123456789101112131415161718192021222324252627282930313233
  1. IMPLEMENTATION MODULE FpuIO;
  2. (* Thin layer over the C runtime's float/integer printers. *)
  3. PROCEDURE m2writefix (x : REAL; wid : INTEGER; dec : INTEGER);
  4. EXTERNAL;
  5. PROCEDURE m2writeintwidth (v : LONGINT; wid : CARDINAL);
  6. EXTERNAL;
  7. PROCEDURE m2readreal () : REAL;
  8. EXTERNAL;
  9. PROCEDURE ReadReal (VAR x : LONGREAL);
  10. BEGIN x := m2readreal() END ReadReal;
  11. PROCEDURE ReadLongReal (VAR x : LONGREAL);
  12. BEGIN x := m2readreal() END ReadLongReal;
  13. PROCEDURE WriteReal (x : LONGREAL; width, decimals : CARDINAL);
  14. BEGIN
  15. m2writefix(x, VAL(INTEGER, width), VAL(INTEGER, decimals))
  16. END WriteReal;
  17. PROCEDURE WriteLongReal (x : LONGREAL; width, decimals : CARDINAL);
  18. BEGIN
  19. m2writefix(x, VAL(INTEGER, width), VAL(INTEGER, decimals))
  20. END WriteLongReal;
  21. PROCEDURE WriteLongInt (x : LONGINT; width : CARDINAL);
  22. BEGIN m2writeintwidth(x, width) END WriteLongInt;
  23. PROCEDURE WriteLongCard (x : LONGCARD; width : CARDINAL);
  24. BEGIN m2writeintwidth(VAL(LONGINT, x), width) END WriteLongCard;
  25. END FpuIO.