algebraixlib.undef module¶
Facilities for representing and working with the concept of “undefined”.
Most operations are not defined for all types of data: set operations may not be defined on
couplets, multiset operations may not be defined on sets, and so on. When an
operation is not defined for a given input, it returns the singleton Undef()
. This return value
can then be taken into account by the caller. In some cases it is an error, in other cases the
result is simply ignored.
-
class
algebraixlib.undef.
Undef
[source]¶ Bases:
object
A singleton class that represents the concept of “undefined”.
Instances of this class are not treated as a value by the operations in this library; specifically, it will never appear as the value of an
Atom
.Override
__new__
to create a singleton class.-
cached_relation
¶ Return the cached state of being a relation. See [PropCache].
-
cached_is_relation
¶ Return
False
sinceself
is known not to be a relation. See [PropCache].
-
cached_is_not_relation
¶ Return
True
sinceself
is known not to be a relation. See [PropCache].
-
cached_clan
¶ Return the cached state of being a clan. See [PropCache].
-
cached_is_clan
¶ Return
False
sinceself
is known not to be a clan. See [PropCache].
-
cached_is_not_clan
¶ Return
True
sinceself
is known not to be a clan. See [PropCache].
-
cached_multiclan
¶ Return the cached state of being a multiclan. See [PropCache].
-
cached_is_multiclan
¶ Return
False
sinceself
is known to not be a multiclan. See [PropCache].
-
cached_is_not_multiclan
¶ Return
True
sinceself
is known not to be a multiclan. See [PropCache].
-
cached_absolute
¶ Return the cached state of being absolute. See [PropCache].
-
cached_is_absolute
¶ Return
False
sinceself
is known not to be absolute. See [PropCache].
-
cached_is_not_absolute
¶ Return
True
sinceself
is known not to be absolute. See [PropCache].
-
cached_functional
¶ Return the cached state of being functional. See [PropCache].
-
cached_is_functional
¶ Return
False
since functional does not apply. See [PropCache].
-
cached_is_not_functional
¶ Return
False
since functional does not apply. See [PropCache].
-
cached_right_functional
¶ Return the cached state of being right-functional. See [PropCache].
-
cached_is_right_functional
¶ Return
False
since right-functional does not apply. See [PropCache].
-
cached_is_not_right_functional
¶ Return
False
since right-functional does not apply. See [PropCache].
-
cached_reflexive
¶ Return the cached state of being reflexive. See [PropCache].
-
cached_is_reflexive
¶ Return
False
since reflexive does not apply. See [PropCache].
-
cached_is_not_reflexive
¶ Return
False
since reflexive does not apply. See [PropCache].
-
cached_symmetric
¶ Return the cached state of being symmetric. See [PropCache].
-
cached_is_symmetric
¶ Return
False
since symmetric does not apply. See [PropCache].
-
cached_is_not_symmetric
¶ Return
False
since symmetric does not apply. See [PropCache].
-
cached_transitive
¶ Return the cached state of being transitive. See [PropCache].
-
cached_is_transitive
¶ Return
False
since transitive does not apply. See [PropCache].
-
cached_is_not_transitive
¶ Return
False
since transitive does not apply. See [PropCache].
-
cached_regular
¶ Return the cached state of being regular. See [PropCache].
-
cached_is_regular
¶ Return
False
since regular does not apply. See [PropCache].
-
cached_is_not_regular
¶ Return
False
since regular does not apply. See [PropCache].
-
cached_right_regular
¶ Return the cached state of being right-regular. See [PropCache].
-
cached_is_right_regular
¶ Return
False
since right-regular does not apply. See [PropCache].
-
cached_is_not_right_regular
¶ Return
False
since right-regular does not apply. See [PropCache].
-
__hash__
= None¶
-
-
class
algebraixlib.undef.
RaiseOnUndef
[source]¶ Bases:
object
Manage the level for
make_or_raise_undef
. Implemented as static class.-
static
get_level
()[source]¶ Return the current level for raising an
UndefException
.The exception is raised if the
level
argument ofmake_or_raise_undef
is less than or equal to the value returned here.
-
static
set_level
(temp_value)[source]¶ Set the level for raising an
UndefException
temporarily totemp_value
.
-
static
reset
()[source]¶ Reset the level for raising an
UndefException
back to its initial value.
-
static
-
exception
algebraixlib.undef.
UndefException
[source]¶ Bases:
Exception
This exception is raised when the
level
argument ofmake_or_raise_undef
is less than or equal to theRaiseOnUndef
level.
-
algebraixlib.undef.
make_or_raise_undef
(level=1)[source]¶ Raise
UndefException
iflevel
is less than or equal to theRaiseOnUndef
level, otherwise returnUndef()
.Parameters: level – An integer >= 1. Default is 1. Note
Use 1 (or no argument) for the cases that are most likely to be errors (like wrong argument types). Use higher numbers for cases that may return
Undef()
on purpose.
-
algebraixlib.undef.
make_or_raise_undef2
(obj)[source]¶ Raise
UndefException
iflevel
is less than or equal to theRaiseOnUndef
level, otherwise returnUndef()
.Parameters: obj – Causes level
argument tomake_or_raise_undef
to be 2 ifUndef()