home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
modu1096.zip
/
GPMsym
/
hugeinout.def
< prev
next >
Wrap
Text File
|
1996-08-29
|
4KB
|
84 lines
(****************************************************************)
(* *)
(* Gardens Point Modula-2 Library Definition *)
(* *)
(* *)
(* (c) Copyright 1996 Faculty of Information Technology *)
(* Queensland University of Technology *)
(* *)
(* Permission is granted to use, copy and change this *)
(* program as long as the copyright message is left intact *)
(* *)
(****************************************************************)
(****************************************************************)
(* *)
(* High level input and output procedures for HUGEINTS *)
(* *)
(* modifications : kjg September 1995 *)
(* *)
(****************************************************************)
DEFINITION MODULE HugeInOut;
FROM HugeInts IMPORT HUGEINT;
FROM UxFiles IMPORT File;
VAR Done : BOOLEAN ; (* Status of some ReadInt procedure calls.
TRUE if the operation was successful,
FALSE otherwise. *)
termCh : CHAR ; (* Terminating character ReadInt call *)
PROCEDURE ReadInt (VAR n: HUGEINT);
PROCEDURE TextReadInt(f : File; VAR n : HUGEINT);
PROCEDURE StrReadInt (str : ARRAY OF CHAR; VAR n : HUGEINT);
(* Precondition : TRUE
Postcondition : Done = TRUE if and only if the next sequence of
characters on the input stream represents a
HUGEINT value. The variable termCh is set to the
value of the character that terminates this
sequence. *)
PROCEDURE WriteInt (num : HUGEINT; wid : CARDINAL);
PROCEDURE TextWriteInt(fil : File; num : HUGEINT; wid : CARDINAL);
PROCEDURE StrWriteInt (num : HUGEINT;
wid : CARDINAL;
VAR out : ARRAY OF CHAR);
(* Precondition : fil is open, str is long enough for output.
Postcondition : The value of i is written to the output stream
occupying at least w character positions. Leading
blanks fill out the space if it is not all required.
The decimal number system is used and a sign is
displayed only for negative numbers.
If wid=0 at least one blank is emitted. *)
PROCEDURE WriteOct (num : HUGEINT; wid : CARDINAL);
PROCEDURE TextWriteOct(fil : File; num : HUGEINT; wid : CARDINAL);
PROCEDURE StrWriteOct (num : HUGEINT;
wid : CARDINAL;
VAR out : ARRAY OF CHAR);
(* Precondition : fil is open, str is long enough for output.
Postcondition : The value of n is written to the output stream
occupying at least w character positions. Leading
blanks fill out the space if it is not all required.
The octal number system is used.
If wid=0 at least one blank is emitted. *)
PROCEDURE WriteHex (num : HUGEINT; wid : CARDINAL);
PROCEDURE TextWriteHex(fil : File; num : HUGEINT; wid : CARDINAL);
PROCEDURE StrWriteHex (num : HUGEINT;
wid : CARDINAL;
VAR out : ARRAY OF CHAR);
(* Precondition : fil is open, str is long enough for output.
Postcondition : The value of n is written to the output stream
occupying at least w character positions. Leading
blanks fill out the space if it is not all required.
The hexadecimal number system is used.
If wid=0 at least one blank is emitted. *)
END HugeInOut.