english
version "1.0"
identify "%Z%%M% %I% %E%"
#: Copyright (c) 1991-2005 by Wayne C. Gramlich.
#, All rights reserved.
module logical
#: The logical module is a base type that implements the boolean values
#, of logical@true and logical@false and the associated boolean operations.
define logical
external
object true@logical #: This constant represents "true".
object false@logical #: This constant represents "false".
procedure and@logical
takes
logical1 logical
logical2 logical
returns logical
external logical__and
#: This procedure returns {logical@true} only if both {logical1} and
#, {logical2} are both {logical@true}; otherwise {logical@false}
#, is returned.
procedure buffer_append@logical
takes
logical logical
buffer string
returns_nothing
#: This procedure will append {logical} to {buffer}.
procedure equal@logical
takes
logical1 logical
logical2 logical
returns logical
external logical__equal
#: This procedure returns {logical@true} if both {logical1} and {logical2}
#, are {logical@true} or if both are {logical@false}; otherwise,
#, {logical@false} is returned.
procedure format@logical
takes
logical logical
out_stream out_stream
format string
offset unsigned
returns_nothing
#: This procedure will output {logical} to {out_stream} using
#, the formatting characters in {format} starting at {offset}
#, until a terminating '%' is encountered. See the {format} module
#, to find out more about formatted output.
procedure hash@logical
takes
logical logical
returns unsigned
#: This procedure will return a hash value for {logical}.
procedure not@logical
takes
logical logical
returns logical
external logical__not
#: This procedure returns {logical@true} if {logical} is {logical@false}
#, and {logical@false} otherwise.
procedure or@logical
takes
logical1 logical
logical2 logical
returns logical
external logical__or
#: This procedure returns {logical@false} only if both {logical1} and
#, {logical2} are both {logical@false}; otherwise {logical@true}
#, is returned.
procedure print@logical
takes
logical logical
out_stream out_stream
returns_nothing
#: This procedure will print {logical} out to {out_stream} in human
#, readable form.
procedure save@logical
takes
logical logical
save save
offset unsigned
returns_nothing
#: This procedur will save {logical} into {save} at {offset}.
procedure unsigned_convert@logical
takes
logical logical
returns unsigned
external logical__unsigned_convert
#: This procedure will return {logical} converted into an {unsigned}.
procedure xor@logical
takes
logical1 logical
logical2 logical
returns logical
external logical__xor
#: This procedure returns {logical@true} if {logical1} is equal to
#, {logical@true} and {logical2} is equal to {logical@false} or
#, vice versa.