Interface Partitioner


public interface Partitioner
Given a set of input expressions Ei, a Partioner will return a set of output expressions Eo, such that:
  • Eo are not empty.
  • Eo don't overlap.
  • Union of Eo equals union of Ei
  • Each Eo is a subset of at least one Ei.
Warning: solving this problem may yield 2N output expressions, where N is the number of input expressions.
Author:
Damien Carbonne
  • Method Details

    • partition

      Partition a list of input expressions.
      Parameters:
      inputs - The input expressions.
      features - The features.
      Returns:
      The partitioning of inputs.
    • partition

      Partitioner.Result partition(List<Expression> inputs, List<Set<Integer>> inputPartitions, FactorizationFeatures features)
      Partition a list of input expressions.

      Some additional knowledge is passed to improve performances.

      WARNING: If promise is invalid, result will be erroneous.

      Parameters:
      inputs - The input expressions.
      inputPartitions - A list of sets of indices of input expressions with the promise that input expressions designated in each set don't overlap.
      WARNING: all integers should be in range [0, inputs.size()[
      features - The features.
      Returns:
      The partitioning of inputs.