-
Notifications
You must be signed in to change notification settings - Fork 2
Booleans
NDCA does not have a separate boolean type; boolean values are represented using integers with the value 0
for "false" and 1
for "true."
Some types support conversion into a boolean using the function bool()
. bool()
returns 0
for "falsey" values and 1
for "truthy" values.
An integer is if "falsey" if is 0
and "truthy" otherwise. bool(some_int)
is equivalent to some_int != 0
.
A cell state is "falsey" if it is state #0
and "truthy" otherwise. bool(some_cell_state)
is equivalent to some_cell_state != #0
.
A vector is "falsey" if all of its components are 0
and "truthy" if any of its components is nonzero. bool(some_vector)
is equivalent to some_vector != 0
. (See Vector for info about converting integers to vectors.)
The following boolean operations are supported (where a
and b
are types that can be converted to booleans):
-
a and b
— logical AND -
a or b
— logical OR ("inclusive or") -
a xor b
— logical XOR ("exclusive or") -
not a
— logical NOT
All of these operations automatically convert their arguments to booleans first.