Class SimpleCartesianProductConstraintConverter
- java.lang.Object
-
- de.rwth.swc.coffee4j.engine.converter.constraints.AbstractIndexBasedConstraintConverter
-
- de.rwth.swc.coffee4j.engine.converter.constraints.methodbased.SimpleCartesianProductConstraintConverter
-
- All Implemented Interfaces:
IndexBasedConstraintConverter
public class SimpleCartesianProductConstraintConverter extends AbstractIndexBasedConstraintConverter
ConvertsMethodBasedConstraint
objects to theirTupleList
representation by executing theirConstraintFunction
with every possible value combination of its parameters. This means the cartesian product of its parameters values is used. For example, if a constraint uses parameters "param1" with value "1" and "2" and "param2" with value "5" and "6", then the constraint it tested with all these combinations: {"1", "5"}, {"1", "6"}, {"2", "5"} ,{"2", "6"}. For all combinations for which theConstraintFunction
returnsfalse
, a corresponding tuple is added to theTupleList
representation. Naturally, this is a very expensive conversion process, especially if there are many large parameters involved.
-
-
Constructor Summary
Constructors Constructor Description SimpleCartesianProductConstraintConverter(List<Parameter> parameters)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected TupleList
convertedConstraint(Constraint constraint, it.unimi.dsi.fastutil.objects.Object2IntMap<String> parameterIdMap, it.unimi.dsi.fastutil.ints.Int2ObjectMap<Parameter> idToParameterMap, int id)
template method implemented by sub-classes to convert the givenConstraint
into aTupleList
.-
Methods inherited from class de.rwth.swc.coffee4j.engine.converter.constraints.AbstractIndexBasedConstraintConverter
convert, convert
-
-
-
-
Method Detail
-
convertedConstraint
protected TupleList convertedConstraint(Constraint constraint, it.unimi.dsi.fastutil.objects.Object2IntMap<String> parameterIdMap, it.unimi.dsi.fastutil.ints.Int2ObjectMap<Parameter> idToParameterMap, int id)
Description copied from class:AbstractIndexBasedConstraintConverter
template method implemented by sub-classes to convert the givenConstraint
into aTupleList
.- Specified by:
convertedConstraint
in classAbstractIndexBasedConstraintConverter
- Parameters:
constraint
- constraint to be converted.parameterIdMap
- map from parameter name to Id.idToParameterMap
- map from Id toParameter
.id
- id to assign.- Returns:
- converted constraint.
-
-