signature WORD
structure Word : WORD where type word = word
structure Word8 : WORD
structure Word31 : WORD
structure Word32 : WORD
structure LargeWord : WORD = Word32
An extended version of the Standard ML Basis' WORD signature.
See also: INTEGER, HASHABLE, ORDERED
Imported implicitly.
signature WORD =
sig
eqtype word
type t = word
val wordSize : int
val toLarge : word -> LargeWord.word
val toLargeX : word -> LargeWord.word
val fromLarge : LargeWord.word -> word
val toLargeInt : word -> LargeInt.int
val toLargeIntX : word -> LargeInt.int
val fromLargeInt : LargeInt.int -> word
val toInt : word -> int
val toIntX : word -> int
val fromInt : int -> word
val notb : word -> word
val orb : word * word -> word
val xorb : word * word -> word
val andb : word * word -> word
val << : word * Word.word -> word
val >> : word * Word.word -> word
val ~>> : word * Word.word -> word
val ~ : word -> word
val + : word * word -> word
val - : word * word -> word
val * : word * word -> word
val div : word * word -> word
val mod : word * word -> word
val op > : word * word -> bool
val op < : word * word -> bool
val op >= : word * word -> bool
val op <= : word * word -> bool
val equal : word * word -> bool
val compare : word * word -> order
val hash : word -> int
val min : word * word -> word
val max : word * word -> word
val fmt : StringCvt.radix -> word -> string
val toString : word -> string
val scan : StringCvt.radix -> (char,'a) StringCvt.reader -> (word,'a) StringCvt.reader
val fromString : string -> word option
end
Items not described here are as in the Standard ML Basis' WORD signature.
A local synonym for type word.
An explicit equality function on integers. Equivalent to op=.
A hash function for words.
Like specified in the Standard ML Basis, except that underscores are allowed to separate digits. The scan function thus accepts the following formats:
StringCvt.BIN (0w)?[0-1_]*[0-1][0-1_]*
StringCvt.OCT (0w)?[0-7_]*[0-7][0-7_]*
StringCvt.DEC (0w)?[0-9_]*[0-9][0-9_]*
StringCvt.HEX (0wx|0wX|0x|0X)?[0-9a-fA-F_]*[0-9a-fA-F][0-9a-fA-F_]*
The expression fromString s is equivalent to StringCvt.scanString (scan DEC) s.