Site Menu Project Specification Implementation Recommendations Reference Needs Updating Work in Progress Wastebasket Wiki Manual |
Type Sample INTWiP.TypeSampleINT HistoryHide minor edits - Show changes to output 2010-04-11 10:58
by -
Changed lines 23-25 from:
to:
Added lines 36-42:
(* experimental *) PROCEDURE [::] fromCARD ( n : CARDINAL ) : SampleINT; PROCEDURE [::] fromINT ( n : INTEGER ) : SampleINT; 2010-04-11 09:48
by -
Changed lines 23-25 from:
to:
CONST [INTEGER] usesTwosComplement = TRUE; (* experimental *) Changed line 73 from:
CONST stdINT = TRUE; (* to:
CONST stdINT = TRUE; (* experimental *) 2010-04-11 09:24
by -
Changed line 71 from:
CONST to:
CONST stdINT = TRUE; (* two's complement representation *) 2010-04-11 09:07
by -
Changed line 71 from:
CONST to:
CONST usesSBR = TRUE; (* standard binary representation *) 2010-04-11 08:59
by -
Changed line 69 from:
(* scalar conversion *) to:
(* scalar conversion primitives *) 2010-04-11 08:58
by -
Added lines 71-72:
CONST usesTCR = TRUE; (* two's complement representation *) Deleted lines 73-74:
CONST usesTCR = TRUE; (* two's complement representation *) 2010-04-11 08:55
by -
Added lines 72-73:
CONST usesTCR = TRUE; (* two's complement representation *) 2010-04-11 07:19
by -
Changed lines 69-70 from:
(* conversion to:
(* scalar conversion *) Changed lines 73-77 from:
PROCEDURE [TO] (* convert a SampleINT value to a string in PROCEDURE [FROM] (* convert a string in to:
PROCEDURE [TO] toSXF ( n : SampleINT; VAR s : ARRAY OF CHAR ); (* convert a SampleINT value to a string in scalar exchange format *) PROCEDURE [FROM] fromSXF ( VAR n : SampleINT; s : ARRAY OF CHAR ); (* convert a string in scalar exchange format to a SampleINT value *) 2010-04-11 07:09
by -
Changed lines 74-75 from:
(* convert SampleINT value to string in numeric exchange format *) to:
(* convert a SampleINT value to a string in numeric exchange format *) Changed line 77 from:
(* convert string in numeric exchange format to SampleINT value *) to:
(* convert a string in numeric exchange format to a SampleINT value *) 2010-04-11 07:00
by -
Changed lines 31-44 from:
PROCEDURE [::] toCARD ( PROCEDURE [::] toINT ( PROCEDURE [::] toREAL ( (* conversion primitives *) PROCEDURE [TO] toSerialized ( value : SampleINT; VAR serialized : ARRAY OF CHAR ); PROCEDURE [FROM] fromSerialized ( VAR value : SampleINT; serialized : ARRAY OF CHAR ) to:
PROCEDURE [::] toCARD ( n : SampleINT ) : CARDINAL; PROCEDURE [::] toINT ( n : SampleINT ) : INTEGER; PROCEDURE [::] toREAL ( n : SampleINT ) : REAL; Changed lines 40-46 from:
PROCEDURE [ABS] abs ( PROCEDURE [NEG] neg ( PROCEDURE [ODD] odd ( to:
PROCEDURE [ABS] abs ( n : SampleINT ) : SampleINT; PROCEDURE [NEG] neg ( n : SampleINT ) : BOOLEAN; PROCEDURE [ODD] odd ( n : SampleINT ) : BOOLEAN; Changed lines 49-59 from:
PROCEDURE [+] add ( PROCEDURE [-] sub ( PROCEDURE [*] multiply ( PROCEDURE [DIV] divide ( PROCEDURE [MOD] modulo ( to:
PROCEDURE [+] add ( n, m : SampleINT ) : SampleINT; PROCEDURE [-] sub ( n, m : SampleINT ) : SampleINT; PROCEDURE [*] multiply ( n, m : SampleINT ) : SampleINT; PROCEDURE [DIV] divide ( n, m : SampleINT ) : SampleINT; PROCEDURE [MOD] modulo ( n, m : SampleINT ) : SampleINT; Changed lines 62-66 from:
PROCEDURE [=] isEqual ( PROCEDURE [<] isLess ( PROCEDURE [>] isGreater ( to:
PROCEDURE [=] isEqual ( n, m : SampleINT ) : BOOLEAN; PROCEDURE [<] isLess ( n, m : SampleINT ) : BOOLEAN; PROCEDURE [>] isGreater ( n, m : SampleINT ) : BOOLEAN; (* conversion primitives *) CONST digitCapacity = 4; (* total digits in native radix *) PROCEDURE [TO] toNXF ( n : SampleINT; VAR s : ARRAY OF CHAR ); (* convert SampleINT value to string in numeric exchange format *) PROCEDURE [FROM] fromNXF ( VAR n : SampleINT; s : ARRAY OF CHAR ); (* convert string in numeric exchange format to SampleINT value *) 2010-04-10 15:59
by -
Changed lines 40-47 from:
PROCEDURE [TO] VAR mantissa : ARRAY OF CHAR; VAR exponent : ARRAY OF CHAR ); PROCEDURE [FROM] fromASCII ( isDecimal : BOOLEAN; mantissa : ARRAY OF CHAR; exponent : ARRAY OF CHAR ) : SampleINT to:
PROCEDURE [TO] toSerialized ( value : SampleINT; VAR serialized : ARRAY OF CHAR ); PROCEDURE [FROM] fromSerialized ( VAR value : SampleINT; serialized : ARRAY OF CHAR ); 2010-04-06 17:14
by -
Changed line 69 from:
PROCEDURE [MOD] to:
PROCEDURE [MOD] modulo ( a, b : SampleINT ) : SampleINT; 2010-04-06 17:14
by -
Deleted lines 16-20:
CONST [TYPE] semanticModel = 'Z'; (* obsolete *) Added lines 36-47:
(* conversion primitives *) PROCEDURE [TO] toASCII ( value : SampleINT; VAR isDecimal : BOOLEAN; VAR mantissa : ARRAY OF CHAR; VAR exponent : ARRAY OF CHAR ); PROCEDURE [FROM] fromASCII ( isDecimal : BOOLEAN; mantissa : ARRAY OF CHAR; exponent : ARRAY OF CHAR ) : SampleINT; 2010-04-05 12:21
by -
Changed line 12 from:
SampleINT = OPAQUE to:
SampleINT = OPAQUE RECORD ("Z-Type") Changed line 19 from:
CONST [TYPE] semanticModel = 'Z'; to:
CONST [TYPE] semanticModel = 'Z'; (* obsolete *) 2010-04-04 09:45
by -
Added lines 1-91:
[@DEFINITION MODULE SampleINT; (* Sample definition of a signed integer type *) FROM FileIO IMPORT File; (* required for IO *) (* SampleINT type *) TYPE SampleINT = OPAQUE RECORD value : ARRAY 2 OF OCTET; (* 16 bits *) END; (* number type *) CONST [TYPE] semanticModel = 'Z'; (* range *) CONST [TMIN] minValue = -32768; CONST [TMAX] maxValue = 32767; (* assignment *) PROCEDURE [:=] assign ( VAR assignTo : SampleINT; literal : ARRAY OF CHAR ); (* type conversions *) PROCEDURE [::] toCARD ( a : SampleINT ) : CARDINAL; PROCEDURE [::] toINT ( a : SampleINT ) : INTEGER; PROCEDURE [::] toREAL ( a : SampleINT ) : REAL; (* monadic arithmetic operations *) PROCEDURE [ABS] abs ( a : SampleINT ) : SampleINT; PROCEDURE [NEG] neg ( a : SampleINT ) : BOOLEAN; PROCEDURE [ODD] odd ( a : SampleINT ) : BOOLEAN; (* dyadic arithmetic operations *) PROCEDURE [+] add ( a, b : SampleINT ) : SampleINT; PROCEDURE [-] sub ( a, b : SampleINT ) : SampleINT; PROCEDURE [*] multiply ( a, b : SampleINT ) : SampleINT; PROCEDURE [DIV] divide ( a, b : SampleINT ) : SampleINT; PROCEDURE [MOD] divide ( a, b : SampleINT ) : SampleINT; (* relational operations *) PROCEDURE [=] isEqual ( a, b : SampleINT ) : BOOLEAN; PROCEDURE [<] isLess ( a, b : SampleINT ) : BOOLEAN; PROCEDURE [>] isGreater ( a, b : SampleINT ) : BOOLEAN; (* IO operations, bound to READ, WRITE and WRITEF *) PROCEDURE Read( infile : File; VAR b : SampleINT ); (* Reads the textual representation of a SampleINT value in simple format from input stream infile - any leading whitespace is skipped - any remaining characters that are part of the numeral being read are removed from infile - the numeric value of the numeral string read is assigned to the variable passed in for b - the file status is set to any of success, outOfRange, wrongFormat, endOfLine, or endOfInput *) PROCEDURE Write( outfile : File; b : SampleINT ); (* Writes the textual representation of value b in simple format to output stream outfile *) PROCEDURE WriteF( outfile : File; fmtStr : ARRAY OF CHAR; items : CARDINAL; VARIADIC v[items] OF b : SampleINT ); (* Writes a formatted textual representation of one or more SampleINT values to output stream outfile. The value of parameter items is calculated and inserted automatically. The output format is determined by fmtStr. *) END SampleINT.@] |