Mixin
IsSubsetEqMixin
Bases: BoundedLattice[BoundedLatticeType]
flowchart TD
kirin.lattice.mixin.IsSubsetEqMixin[IsSubsetEqMixin]
kirin.lattice.abc.BoundedLattice[BoundedLattice]
kirin.lattice.abc.Lattice[Lattice]
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.IsSubsetEqMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
click kirin.lattice.mixin.IsSubsetEqMixin href "" "kirin.lattice.mixin.IsSubsetEqMixin"
click kirin.lattice.abc.BoundedLattice href "" "kirin.lattice.abc.BoundedLattice"
click kirin.lattice.abc.Lattice href "" "kirin.lattice.abc.Lattice"
A special mixin for lattices that provides a default implementation for is_subseteq by using the visitor pattern. This is useful if the lattice has a lot of different subclasses that need to be compared.
Must be used before BoundedLattice in the inheritance chain.
is_subseteq
is_subseteq(other: BoundedLatticeType) -> bool
Subseteq operation.
Source code in src/kirin/lattice/mixin.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 | |
SimpleJoinMixin
Bases: BoundedLattice[BoundedLatticeType]
flowchart TD
kirin.lattice.mixin.SimpleJoinMixin[SimpleJoinMixin]
kirin.lattice.abc.BoundedLattice[BoundedLattice]
kirin.lattice.abc.Lattice[Lattice]
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.SimpleJoinMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
click kirin.lattice.mixin.SimpleJoinMixin href "" "kirin.lattice.mixin.SimpleJoinMixin"
click kirin.lattice.abc.BoundedLattice href "" "kirin.lattice.abc.BoundedLattice"
click kirin.lattice.abc.Lattice href "" "kirin.lattice.abc.Lattice"
A mixin that provides a simple implementation for the join operation.
join
join(other: BoundedLatticeType) -> BoundedLatticeType
Join operation.
Source code in src/kirin/lattice/mixin.py
35 36 37 38 39 40 | |
SimpleMeetMixin
Bases: BoundedLattice[BoundedLatticeType]
flowchart TD
kirin.lattice.mixin.SimpleMeetMixin[SimpleMeetMixin]
kirin.lattice.abc.BoundedLattice[BoundedLattice]
kirin.lattice.abc.Lattice[Lattice]
kirin.lattice.abc.BoundedLattice --> kirin.lattice.mixin.SimpleMeetMixin
kirin.lattice.abc.Lattice --> kirin.lattice.abc.BoundedLattice
click kirin.lattice.mixin.SimpleMeetMixin href "" "kirin.lattice.mixin.SimpleMeetMixin"
click kirin.lattice.abc.BoundedLattice href "" "kirin.lattice.abc.BoundedLattice"
click kirin.lattice.abc.Lattice href "" "kirin.lattice.abc.Lattice"
A mixin that provides a simple implementation for the meet operation.
meet
meet(other: BoundedLatticeType) -> BoundedLatticeType
Meet operation.
Source code in src/kirin/lattice/mixin.py
46 47 48 49 50 51 | |