Package owl.bdd

Class MtBddOperations


  • public final class MtBddOperations
    extends Object
    This class provides operations for MTBDDs.
    • Method Detail

      • cartesianProduct

        public static <L,​R,​E> MtBdd<E> cartesianProduct​(MtBdd<L> factor1,
                                                                    MtBdd<R> factor2,
                                                                    BiFunction<L,​R,​@Nullable E> combinator)
      • cartesianProductWithNull

        public static <E> MtBdd<List<E>> cartesianProductWithNull​(List<? extends MtBdd<E>> trees)
        This is a short-hack to fix issues that arise by empty sets in leafs. Only works for leafs with at most one value.
        Type Parameters:
        E - type
        Parameters:
        trees - list of trees
        Returns:
        the lists might contain null.
      • cartesianProduct

        public static <E> MtBdd<List<E>> cartesianProduct​(List<? extends MtBdd<E>> trees)
      • cartesianProduct

        public static <K,​V> MtBdd<Map<K,​V>> cartesianProduct​(Map<K,​? extends MtBdd<V>> trees)
      • cartesianProduct

        public static <E> MtBdd<Set<E>> cartesianProduct​(Set<? extends MtBdd<E>> trees)
      • union

        public static <E> MtBdd<E> union​(MtBdd<E> tree1,
                                         MtBdd<E> tree2)