updated to ed4
authorceriel <none@none>
Wed, 8 Mar 1989 17:28:08 +0000 (17:28 +0000)
committerceriel <none@none>
Wed, 8 Mar 1989 17:28:08 +0000 (17:28 +0000)
lang/m2/libm2/RealConver.def
lang/m2/libm2/RealInOut.def
lang/m2/libm2/RealInOut.mod

index 8aa3261..4da4173 100644 (file)
@@ -21,7 +21,7 @@ DEFINITION MODULE RealConversions;
                             VAR ok: BOOLEAN);
 
   PROCEDURE RealToString(r: REAL;
-                        digits, width: INTEGER;
+                        width, digits: INTEGER;
                         VAR str: ARRAY OF CHAR;
                         VAR ok: BOOLEAN);
   (* Convert real number "r" to string "str", either in fixed-point or
@@ -34,7 +34,7 @@ DEFINITION MODULE RealConversions;
   *)
 
   PROCEDURE LongRealToString(r: LONGREAL;
-                        digits, width: INTEGER;
+                        width, digits: INTEGER;
                         VAR str: ARRAY OF CHAR;
                         VAR ok: BOOLEAN);
 
index 6a13a48..5ab39ce 100644 (file)
@@ -24,6 +24,12 @@ DEFINITION MODULE RealInOut;
      If fewer than n characters are needed, leading blanks are inserted.
   *)
 
+  PROCEDURE WriteFixPt(x: REAL; n, k: CARDINAL);
+  (* Write x in fixed-point notation usign n characters with k digits
+     after the decimal point. If fewer than n characters are needed,
+     leading blanks are inserted.
+  *)
+
   PROCEDURE WriteRealOct(x: REAL);
   (* Write x in octal words.
   *)
index 3421801..28ed945 100644 (file)
@@ -31,6 +31,16 @@ IMPLEMENTATION MODULE RealInOut;
        InOut.WriteString(buf);
   END WriteReal;
 
+  PROCEDURE WriteFixPt(arg: REAL; n, k: CARDINAL);
+  VAR buf: RBUF;
+      ok : BOOLEAN;
+
+  BEGIN
+       IF n > MAXWIDTH THEN n := MAXWIDTH END;
+       RealConversions.RealToString(arg, n, k, buf, ok);
+       InOut.WriteString(buf);
+  END WriteFixPt;
+
   PROCEDURE ReadReal(VAR x: REAL);
     VAR        Buf: ARRAY[0..512] OF CHAR;
        ok: BOOLEAN;